后台运行进程的两种方式

  第一种方式:命令最后加&

       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

 

posted on 2016-09-13 10:41  homehbn  阅读(970)  评论(0编辑  收藏  举报

导航