如何使在 SSH 会话期间启动的进程在会话结束后运行?

如何使在 SSH 会话期间启动的进程在会话结束后运行?

可能的重复:
断开连接后保持 SSH 会话运行。

我有一个基本上是 Web 服务器的进程,我在 SSH 会话期间启动它。但是,当我离开会话(通过关闭 PuTTY 窗口)时,它会停止运行并响应请求。即使我以 结尾命令也是如此&。使用 Apache,我没有这个问题,它带有停止、启动和重新启动脚本。我想为这个程序创建类似的东西。

如何启动一个进程,以便即使在结束启动它的 SSH 会话后它仍能继续运行?另外,如果它因某种原因停止,我该如何设置它自行重新启动?

谢谢!

答案1

在会话中启动它screen

screen

现在开始这个过程:

myprocess

Ctrl然后,使用+分离屏幕会话a d

您可以通过键入以下内容再次重新连接到屏幕会话:

screen -r

如果您有更多会话正在运行,您可以通过以下方式列出它们:

screen -ls

答案2

您可以将其设为守护进程(分叉两次或由系统的init守护进程启动它)或用于临时用途screen

相关内容