可能重复:
如何将一个进程从终端完全分离?
我在远程 Unix 计算机上的 Unix 控制台中运行一个程序。我(愚蠢地)没有使用 来运行它nohup &
,现在我需要关闭本地控制台。
关闭本地控制台后,有什么方法可以让它继续远程运行?
答案1
如果你的shell是bash
,那么你可以使用disown
。Ctrl-Z来暂停该进程,然后disown -h
使其不再接收SIGHUP。
答案2
在 Solaris 9 上,您可以使用nohup -p <pid>
nohup 来运行正在运行的进程。 这是一个有趣的解释实现。我不知道这是否已在其他 Unix 上实现。
答案3
Ctrl-Z 暂停进程,然后bg
使程序进入后台并继续运行直至完成。
答案4
如果你有能力在注销之前停止并重新启动该程序,那么请停止它并通过以下方式重新启动它:屏幕,对于任何使用远程连接到 unix 主机的人来说,它都是必须的。