Linux让程序后台运行命令之screen与nohup

一、nohup

nohup时间长了会断掉  所以建议使用screen

nohup 命令 & 

如果运行成功刚默认会将标准输出重定向到当前目录的nohup.out文件中,查看此文件,可以了解运行的进度 
 时间长了会断掉 

就是ssh 打开以后,bash等都是他的子程序,一旦ssh关闭,系统将所有相关进程杀掉!! 导致一旦ssh关闭,执行中的任务就取消了

 

二、screen
1、安装screen
yum install screen

2、创建screen会话
screen -S 自己定义个会话名   最好记住 方便以后回到会话中
然后执行命令

3、暂时离开,保留screen会话中的任务或程序
当需要临时离开时(会话中的程序不会关闭,仍在运行)可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)

4、恢复screen会话
当回来时可以再执行执行:screen -r 会话名     即可恢复到离开前创建的lnmp会话的工作界面。

如果忘记或者刚开始没有指定会话名,执行screen -ls列出当前的会话列表;

 

执行screen , 按任意键进入子界面;
我用ping命令开始执行,如果下班了,但是想关闭ssh以后ping继续运行,那么按ctrl+a   再按d   这样暂停了子界面,会显示[detached]的字样,这时候 我回到了父界面;
用screen –ls查看目前子界面的状态

screen -ls
There is a screen on: 22292.pts-3.free (Detached)
1 Socket in /tmp/screens/S-root。

这里的22292其实是子界面的pid号;
如果回到子界面 用screen –r 22292,一下子弹到了ping 的子界面;


posted @ 2018-05-09 19:39  jimmy_xuli  阅读(900)  评论(0编辑  收藏  举报