Mac OS X ssh上的nohup或持久性进程


9

我知道之前已经有人问过这个问题,但是似乎没有答案在OS X Mountain Lion中起作用。我想通过SSH启动一个进程并关闭终端而不会终止该进程。

nohup ccl64 -e '(ql:quickload :"file")' & 

不起作用 当终端关闭时,该过程终止。

nohup ccl64 -e '(ql:quickload :"file")'

同样在这里。

我认为一定有办法。这很烦人,因为它在任何Linux系统中都是标准,但是Mac OS X拒绝使用任何这些组合。

Answers:


9

永远有效的一件事是screenhttp://ss64.com/osx/screen.html它似乎默认在Mac OS X上可用。

编辑:http : //web.archive.org/web/20130413070916/http : //macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html另一个教程紧靠屏幕。

此外,这是一些有关如何使用的快速提示 screen

打开一个新的“屏幕”实例

$ screen

一次,在屏幕上,您可以像这样“分离”(或关闭)屏幕:

ctrl+A and then press D

要恢复屏幕,通常需要执行以下操作:

$ screen -x

如果您有多个屏幕实例,它将告诉您其ID,在这种情况下,您可以选择恢复哪个实例,如下所示:

$ screen -r <screen id>

所以在ssh上我做了屏幕,然后通过了nohup命令?到底是否带有&?

不需要nohup。只需执行屏幕ccl64 ...&即可。以后,如果需要,可以与屏幕-R重新连接以监视进度。或者,只是运行的屏幕和类型有命令,你可以用Ctrl + A D.分离
CHX

谢谢,有可能在启动后将屏幕输出保存到文件中吗?

当然,屏幕可以完成所有工作。您需要screen -X hardcopy。有关更多信息,请参见bbs.archlinux.org/viewtopic.php?id=47521
chx 2012年

5

试一试screen,它仍然应该是默认安装的一部分。有些人甚至将屏幕用作其默认外壳,因此他们根本不需要担心nohup。


2
您能描述一下如何在屏幕上运行nohup命令吗?

您使用屏幕而不是nohup,然后分离屏幕。即使ssh会话结束,您的程序也将继续运行。
2012年

有关man screen详细信息,请参见。
2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.