第一种方式:命令最后加&
1. 命令执行后显示:后台程序序列号和进程号
2.若终端被关闭,则带&的后台命令也一同关闭
3. 可以使用ps -aux查看
4.示例:tail -f catalina.out &
第二种方式:nohup 命令 & ; 注:nohup:no hang up 不挂起继续运行
1.终端被关闭,后台进程继续运行
2.示例:nohup tail -f catalina.out &
上图中后台运行的pid=5307,日志输出到当前目录下的nohup.out中
3. 查看进程可以使用命令:ps -ef | grep 进程号
4. 可以通过jobs命令查看:
5. 将后台的程序调到前台运行:fg %n 其中n代表
列如:fg %2
6.将前端运行的程序转入后台运行
a. 命令:crtl +z (将程序暂停运行) 注意:crtl+c是关闭运行程序。
b. 命令:bg %2
7.遇到的问题:
在实际操作中,我使用第二种方式,关闭终端后,后台运行的程序也同时关闭了。最后在一篇文章中找到原因以及解决的方法:
问题原因:我是点击关闭按钮关闭终端的,所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown
解决方法:正确关闭终端的方法:当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端
参考文档:http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html
最新评论