linux下nohup的执行jar
java -jar xxx.jar &
命令结尾没有 “&”
则变成 “java -jar xxx.jar ” ,表示在当前ssh窗口,可按ctrl + c打断程序运行,或者直接关闭窗口,则程序直接退出
命令结尾添加 “&”
则变成 “java -jar xxx.jar &” ,表示在当窗口关闭时,程序才会中止运行。&代表让该命令在后台执行。
nohup java -jar xxx.jar > log.log & 或者 nohup java -jar xxx.jar >> log.log &
命令 "nohup java -jar xxx.jar &" 部分
表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。注意,该作业的所有输出被重定向到nohup.out的文件中。
命令 "nohup java -jar xxx.jar > log.log &" 部分
表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,并且该作业的所有输出被重定向到log.log的文件中。“ > log.log ” 该命令就是指定日志输出的文件。
">>"表示将输出以追加的方式重定向到log.log中。
nohup java -jar xxx.jar > log.log 2>&1 & 或者 nohup java -jar xxx.jar >> log.log 2>&1 & 或者 nohup java -jar xxx.jar > /dev/null 2>&1 &
- 标准输入文件(stdin):stdin的文件描述符为0,unix程序默认从stdin读取数据。
- 标准输出文件(stdout):stdout 的文件描述符为1,unix程序默认向stdout输出数据。
- 标准错误文件(stderr):stderr的文件描述符为2,unix程序会向stderr流中写入错误信息。
- 屏蔽输出,起到禁止输出作用:/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
- “> log.log 2>&1” :表示将 stdout 和 stderr 合并后重定向到 log.log
备注:
输出之后,可以使用“jobs”查看一下后台运行的任务。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论