解决Linux/CentOS断开SSH连接后python程序被终结的问题

问题:执行python app.py &后,断开ssh,程序会被自动杀掉。

原因:是因为python的父进程是bash,bash依赖ssh的session()。&只是run in background,会生成一个bash的子进程(),只要bash被杀掉,它也会被杀掉。

解决方法:
1.nohup
用于在后台运行命令,并使其在用户注销或终端关闭后继续运行。它的名称是"no hang up"的缩写,意思是不挂起。

nohup python3 app.py &
默认会在当前目录生成nohup.out文件输出,或者也可以自己 重定向

2.screen
yum -y install screen
然后创建一个名为box窗口(你可以任意取名字),并打开程序:
在这里插入图片描述
或者直接打开
在这里插入图片描述
要关掉这个screen也很简单:
在这里插入图片描述

你可能感兴趣的:(python学习,linux,centos,ssh)