解决关闭ssh后网页停止服务的方法,利用nohup

匿名 (未验证) 提交于 2019-12-02 23:49:02

上一篇文章提到宝塔面板无法运行,只能用ssh运行app.py。

关闭ssh时,app.py会被杀死。因为app.py的父进程就是ssh,关掉ssh会造成进程被杀死。

nohup python app.py &

这样子相当于app.py不再是shh的子进程,那么只要服务器不关,他就会一直运行下去(也会有时间限制)

场景:

如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?

解决方法:

我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。

可见,nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将命令同时放入后台运行,也可用来更改缺省的重定向文件名。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!