可能重复:
Prevent a background process from being stopped after closing SSH client
我有一个需要很长时间才能完成的程序。它以root用户身份在ssh上运行。
我想让它在我注销后继续运行,这是可能的吗?我如何实现这一点?
发布于 2009-06-05 05:47:35
假设您有一个程序在前台运行,按ctrl-Z组合键,然后:
[1]+ Stopped myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout
如果只有一个作业,则不需要指定作业编号。只需使用disown -h
和bg
即可。
以上步骤说明:
按ctrl-Z组合键。系统挂起正在运行的程序,显示作业号和“已停止”消息,并返回bash提示符。
您可以键入disown -h %1
命令(在这里,我使用的是1
,但您将使用Stopped
消息中显示的作业号),该命令会标记作业,因此它会忽略SIGHUP
信号(注销不会停止作业)。
接下来,使用相同的作业号键入bg
命令;这将恢复程序在后台的运行,并显示一条消息确认这一点。
您现在可以注销,它将继续运行。
发布于 2009-06-05 04:51:13
您应该尝试使用nohup
并在后台运行它:
nohup sleep 3600 &
发布于 2009-06-05 04:54:37
我会尝试使用screen程序。
https://stackoverflow.com/questions/954302
复制相似问题