screen--后台不挂断运行

方法一:

1、进入项目目录下,运行下面程序:

nohup python manage.py runserver 0.0.0.0:5008 &

nohup(no hang up)用途:不挂断的运行命令

&用途:在后台运行

nohup /root/start.sh &

在shell中回车后提示:

[~]$ appending output to nohup.out     

原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。

注意:在nohup执行成功后直接点击关闭程序按钮关闭终端,会断掉该命令对应的session,导致nohup对应的进程被通知一起shutdown。所以在使用nohup命令后台运行命令之后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行。

 方法二:这个比较高级,使用screen

1、安装screen

yum install -y screen

2、新建一个screen

screen -S xiedi

这样会新开一个窗口,然后执行命令即可

python manage.py runserver 0.0.0.0:9000

3、重开一个窗口,列出所有screen进程,如下

    [root@docker ~]# screen -ls
    There are screens on:
           3029.xiedi    (Attached)

4、如果想链接上这个会话,执行命令即可

screen -r 3029

5.删除screen

看一下screen信息,例如

screen -ls
会有如下显示:
122128.test     (12/04/2017 08:35:43 PM)        (Attached)

删除它

screen -X -S 122128 quit
 
 
6.用 screen -ls, 显式当前状态为Attached, 但当前没有用户登陆些会话。screen此时正常状态应该为(Detached)

此时用screen -r <session-id>,怎么也登不上。最后找到解决方法:screen -D  -r <session-id>

-D -r  先踢掉前一用户,再登陆。
原文地址:https://www.cnblogs.com/yangyangming/p/11747639.html