通过 SSH 运行进程?

通过 SSH 运行进程?

可能重复:
如何在注销后保持作业运行?

我在 Mac 上,通过 SSH 进入我的 Ubuntu 机器并运行 node.js(或任何其他应用程序),但当我关闭 Mac 上的终端时,它会退出 Ubuntu 机器上的进程。我怎样才能让进程继续运行,而不受 Mac 上终端的影响?

答案1

您可以做几件事。“CTRL + z”将停止正在运行的进程,然后您可以键入“bg”将其置于后台以保持其运行。或者您可以在行尾用“&”启动命令。这将以后台进程的形式启动它。然后您可以退出 shell。

答案2

一种解决方案是使用 GNU Screen。它是一个“多路复用器”,在这种情况下,它允许您通过一个连接打开多个虚拟终端。很酷的是,当您从屏幕上“分离”(或关闭)时,它不仅会继续运行任何进程;它还会让该终端保持与您离开时完全相同的状态。

因此,您可以逐步执行此操作:

  1. 在终端上输入“screen”。
  2. 按 Enter 键跳过许可证屏幕
  3. 在该终端上执行您需要执行的任何操作。(屏幕的快捷方式在这里:http://www.pixelbeat.org/lkdb/screen.html
  4. 完成后,您需要“分离”(ctrl-a d)
  5. 当您想要返回时,请执行“screen -R”转到您的上一次 screen 会话。一切都应该像您离开时一样,包括正在运行的东西等等。

相关内容