关闭ssh客户端后,后台进程终止

时间:2013-08-12 07:46:45

标签: linux shell process ssh background-process

我的问题与我在SO hereherehere上找到的问题相同。但是,对我来说nohup不起作用。编译screen会产生错误,而对于disown,Control + Z不会使进程“停止”。

我运行数据生成二进制文件,将数据写入文件,并在屏幕上打印状态消息(stdout)。我尝试了以下

nohup ./sp2b <options for sp2b> > output &

当我退出终端并重新登录时,该进程已被终止。我实际上也想计时,所以想做

nohup time ./sp2b <options for sp2b> > output &

为什么nohup不适用于我的情况?

2 个答案:

答案 0 :(得分:1)

也许尝试这样的事情,而不是screen使用tmux(更现代的屏幕替代品),因为你没有root,我们会在本地安装。

mkdir tmp && cd tmp;
aptitude download tmux;
ar x tmux_*
tar xvf data.tar.gz

现在你可以尝试./usr/bin/tmux,希望你会安装依赖项,tmux只有几个。这适用于我的机器。

答案 1 :(得分:0)

nohup的问题在于,如果您不将输出发送到> /dev/null 2>&1 那么它将保持输出进程打开(它将输出到nohup.out)。因此,如果关闭终端,也将关闭输出过程。

示例:

nohup node somescrip.js >/dev/null 2>&1 &