远程运行,在后台,使用 ssh,然后注销,保持进程运行,怎么样?

远程运行,在后台,使用 ssh,然后注销,保持进程运行,怎么样?

以下问题已被问过数百万次(请耐心等待:-))..为什么——我找不到一个简单、结论性的答案?——将不胜感激!

  • 如果我自己的计算机关闭并且 ssh 也关闭,那么在 ssh 中以“./What_ever_job &”的形式运行程序(What_ever_job.EXE 文件)是否足以使其继续运行?如果不能,那么运行它的准确方法是什么(拜托!...)?

请不要使用“屏幕”,我看到了一种叫做“nohup”的东西(?) - 我该如何写下赞扬?

答案1

“简单而明确的”答案是屏幕。我知道您说过您不想要屏幕,但无论如何我都会给您简单的步骤:

  1. 使用 SSH 登录远程计算机
  2. 运行screen(你的命令窗口看起来就像被清除了一样)
  3. 运行您想要的任何命令。无需使用 &
  4. 按 Ctrl-A,然后按 D 键

您将与 screen 断开连接,命令窗口将与您登录时一样,但进程仍在运行。使用 screen 还有一个好处,就是在断开远程计算机后,您可以重新连接到正在运行的进程,而 nohup 则不允许这样做。

至于使用 nohup,我实际上没有用过,但语法似乎很简单nohup yourcommand &。值得指出的是维基百科中有关 nohup 的文章提供了许多您可能想要尝试的其他替代方案,例如VNC它是否可用,或者start-stop-daemon在基于 Debian 的系统上。

编辑:如果您想在一行中启动该过程,则可以使用screen -dmS name yourcommand,其中“name”可以是任何内容,并且只是屏幕用来引用后台会话的名称,“yourcommand”是您想要在后台运行的命令。

相关内容