Answers:
nohup
。nohup
忽略hangup信号,SIG_IGN
然后在同一过程中链式加载程序。
您的Python程序会立即重置挂断信号的信号处理,并安装自己的信号处理程序。该处理程序检查一个内部函数(如果我已经看过一个错误的假设,则该函数的设计不是很好),并确定接收到挂断信号时的适当措施是打印该消息。然后退出。
设计上的Python程序不可nohup
用。在具有作业控制外壳和POSIX会话/作业语义的系统上,您需要disown
对作业进行处理,以使外壳永远不知道要向其发送挂断信号。
(即使在systemd操作系统上这还不够。由于systemd的人们对他们的用户空间登录会话机制有些了解,因此,您还需要确保systemd的机制向系统发出信号,而不是挂断信号,以便每次注销时的登录会话也不会启动。)
nohup
。尚未找到解决办法
setsid nohup python3 run.py > nohup.out &
,setsid解决了此问题。这是正确的方法吗?
tmux
和完全忽略nohup
或放弃或后台任务。