可能的重复:
防止后台进程在关闭 SSH 客户端后停止 https://stackoverflow.com/questions/285015/linux-prevent-a-background-process-from-being-stopped-after-closing-ssh-client
我有一个需要很长时间才能完成的程序。
它以 root 身份通过 ssh 运行。
我希望它在注销后继续运行,这可能吗?我将如何实现这一点?
假设你有一个程序在前台运行,按 ctrl-Z, then:
[1]+ Stopped myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout
如果只有一项作业,则无需指定作业编号。只需使用disown -h
and bg
.
上述步骤的解释:
您按 ctrl-Z。系统暂停正在运行的程序,显示作业编号和“已停止”消息,然后返回到 bash 提示符。
您输入disown -h %1
命令(在这里,我使用了1
,但您可以使用显示在Stopped
消息),它标记了作业,因此它忽略了SIGHUP
信号(不会因注销而停止)。
接下来,输入bg
使用相同作业编号的命令;这将恢复程序在后台的运行,并显示一条消息来确认这一点。
您现在可以注销,它将继续运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)