在程序启动后,关闭控制台后保持程序运行

Thr*_*awn 8 unix nohup

可能的重复:
如何完全从终端分离进程?

我有一个程序在远程 Unix 计算机上的 Unix 控制台中运行。我(愚蠢地)没有使用 运行它nohup &,现在我需要关闭本地控制台。

有没有办法让它在关闭本地控制台后继续远程运行?

Dou*_*der 12

如果你的 shell 是bash,你可以使用它们disown。Ctrl-Z 暂停进程,然后disown -h使其不接收 SIGHUP。

  • 只是好奇:当进程被暂停时,不应该最终跟随`bg` 或类似的东西吗?还是`disown -h` 也可以恢复它? (3认同)

con*_*yer 6

在 Solaris 9 上,您可以使用nohup -p <pid>nohup 运行一个进程。 这是对实现的有趣解释。我不知道这是否已在任何其他 Unices 上实施。