如何让程序在ssh退出后继续运行? [复制]

2024-04-11

可能的重复:
防止后台进程在关闭 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(使用前将#替换为@)

如何让程序在ssh退出后继续运行? [复制] 的相关文章

随机推荐