Answers:
您声明:
我希望此应用程序(这是服务器)在终止SSH之后仍然存在,并且在任何时候,我都希望能够重新连接到控制台并在服务器上发出命令。
目标略微含糊,但我会刺中它!
要将任何命令作为后台进程在Linux服务器上运行,您应该在命令前加上nohup并追加&到末尾。
因此,最后的命令将是:
nohup [your command] &
这nohup意味着该命令应忽略“挂断”,并且&附加在其上的&符是一个shell命令,告诉系统将其作为后台进程运行。有关其用法的更多信息,请参见此处。
当您运行这样的命令时,该过程将运行,您将被送回到命令提示符,您可以退出终端会话,甚至可以去执行与该终端会话无关的其他操作。
screen替代方法,因为它可以让您在启动后重新进入会话。坦白说,您的问题含糊不清,因此,如果您能澄清一下,可能会有所帮助。
tail -f nohup.out在相同的工作中运行即可。目录
至少有三种方法可以执行此操作:(nohup“不挂断”),screen/ tmux或disown。对于断开连接后需要连接到服务器并与守护程序进行交互的问题,您的问题尚不清楚。
如果是这种情况,nohup并disown为你释放的过程中会不会好比赛(虽然它继续运行)。tmux(以及screen),即使您也可以保持学期运行。
有关更多信息,请参见相应页面:
man nohup
man tux
Bash消失(假设您正在运行Bash,尽管许多其他Shell都包含类似的东西)
disown至少在我使用的实例上,Google Cloud上没有命令开始于2019或2018年底。该nohup命令运行良好,但确实创建了一个可能不需要的额外文件。
另外,如果nohub不起作用,则可以使用screen:
ssh into your remote box.键入屏幕,然后启动所需的过程。
Press Ctrl-A then Ctrl-D.这将分离您的屏幕会话,但使进程保持运行状态。您现在可以注销远程框。
If you want to come back later, log on again and type screen -r This will resume your screen session, and you can see the output
的
您的过程。