即使关闭终端机后,如何保持远程服务器上的进程运行?

即使关闭终端机后,如何保持远程服务器上的进程运行?

..然后在重新启动终端机后仍然能够返回到相同的会话/屏幕。我尝试过 screen 但重新启动计算机后 screen -d 没有显示任何会话。 Nohup 似乎是我想要的,但后来我失去了稍后查看输出的能力,除了将其保存到文件中之外。我就不能再假装一点吗?

答案1

屏幕应该工作正常。提供有关您正在做什么的更多详细信息。常用命令:

# reattach session and if necessary detach it first.
# If there is only one session, sessionname is not necessary.
$ screen -rd sessionname

# list available screen sessions
$ screen -ls

我不确定你为什么使用

$ screen -d

这一切所做的就是分离一个屏幕会话,前提是只有一个屏幕会话。否则它会询问您要分离哪一个。

我还发现

$ echo $TERM

对于显示我是否确实在屏幕内很有用,因为这并不总是显而易见的。如果在屏幕中,它将返回screen。如果有更好的方法可以做到这一点,我想了解它们。

答案2

我认为你走的是正确的道路,screen是你想要的,而不是你想要的nohup。正如你所说,nohup你不能更改设置注销远程服务器后恢复您的环境。screen支持这一点。看看这个教程。基本上你需要的是:

ssh machine
screen

Ctrl-a c

yourcommand

Ctrl-a d

exit
ssh machine
screen -ls
10176.blahblah  (blah)  (Detached)
screen -r 10176

相关内容