nohup 是 no hang up 的缩写,意思是不挂断运行,一直运行下去,永久运行下去,但是注意并没有后台运行的功能
& 是在后台运行的意思
单独使用一个命令,还不能在终端关闭的时候,让进程继续执行
以这个jar包为例,说明一下要如何使用
nohup command & 这样就能使命令永久的在后台执行
nohup /opt/jdk1.8.0_131/bin/java -jar ggg.jar &
缺省输出文件的时候,会自动在当前目录下生成nohup.out文件,如下截图。 其中8118是进程号
如果想停止该进程,就直接kill -9 [PID]
说一下不用nohup和&的区别
1. /opt/jdk1.8.0_131/bin/java -jar ggg.jar
2. nohup /opt/jdk1.8.0_131/bin/java -jar ggg.jar
3. nohup /opt/jdk1.8.0_131/bin/java -jar ggg.jar &
第一种只有命令行,回车之后输出执行日志,若执行control +c 或者关闭终端,进程将终止;如下两个截图
第2种 nohup + 命令行,回车之后输出nohup: appending output to `nohup.out',若执行control +c 或者关闭终端,进程将终止;
第3种 nohup + 命令行 + & ,回车之后输出进程号,以及提示日志输出在nohup.out文件中,如下截图,若执行control +c 或者关闭终端,进程仍在运行;
若要终止,只能kill -9 [PID]