使用格式
nohup command &
nohub: not hang up 不挂断,不会受到信号的影响。
&:后台运行,可以继续输入命令,而不受影响,当关闭连接端时,会受到信号的影响,而关闭。
一般会两个组合使用。
测试
环境:两个页签 a和b,通过ssh连接远程服务器。
1.只有命令行,没有nohup和&(关闭页签或者ctrl+c强制退出,程序都会自动关闭)
###步骤
- 在a页签启动一个web项目
java -jar demo-0.0.1-SNAPSHOT.jar
- 在b页签通过命令查看,jps -lv
- 关闭a页签
- 在b页签通过命令查看,jps -lv
2.命令+&,表示在后台运行,通过关闭页签,程序也会关闭。
(注:exit 因为特殊,默认exit不会发送关闭信号,所以不会关闭程序。想要关闭需要通过命令 shopt -s huponexit )
步骤
- 在a标签启动一个web项目
java -jar demo-0.0.1-SNAPSHOT.jar &
- 在b页签通过命令查看
jps -lv|grep -v jps
- 关闭a页签
- 在b页签通过命令查看
jps -lv|grep -v jps
3.nohup +命令 除非kill,否则不会受到其它影响。
步骤
- 在a页签执行命令
nohup java -jar demo-0.0.1-SNAPSHOT.jar
- 在b页签通过命令查看
jps -lv|grep -v jps
- 关闭a页签
- 在b页签通过命令查看
jps -lv|grep -v jps
关于exit不能关闭程序,借鉴:https://www.cnblogs.com/ziziwu/p/4125750.html