python后台运行失败

博主写了一个python程序想后台运行,python XXX.py&,然后关闭控制台,发现运行失败。why?
因为关闭终端后会收到挂断信号,挂断信号会被python程序捕捉到,默认情况下,该信号会导致python程序退出。
解决办法:nohup python XXX.py

nohup正如名字所声称的,忽略所有发送给子命令的挂断(SIGHUP)信号。
这样所有发给命令的SIGHUP信号都被忽略,命令就不会收到SIGHUP信号。
什么是SIGHUP信号呢?
简单的理解可以是终端结束时,操作系统会发送SIGHUP信号到后台进程。

关于nohup可参考:https://blog.csdn.net/liuyanfeier/article/details/62422742
https://www.jianshu.com/p/747e0d5021a2

你可能感兴趣的:(linux,Python)