从 ssh 启动进程并能够关闭连接

从 ssh 启动进程并能够关闭连接

我正在通过 ssh 连接到安装了 Raspbian 的 RaspberryPi。我的问题是,我无法让 RasPi 在计算机关闭时执行操作(例如,安装软件、执行计算),因为我通过 SSH 启动的进程是 SSH shell 的子进程,并且在连接结束时终止。我知道我可以从 shell 断开子进程,但我不确定如何使用它。我希望能够看到尽可能多的进程输出(也许在文件中?)。

顺便说一句:我正在使用 Windows 7 上的 PuTTY。

答案1

您可以使用screentmux来实现这一点。我更喜欢tmux。tmux 的作用基本上是创建不同的 tmux 会话,即使您关闭了 ssh 会话,这些会话仍会继续运行。当您稍后重新连接时,您可以重新打开该会话,您将看到一切都运行良好。

这是使用 ssh 时的标准做法。

为了获得更好的界面和功能,您可以byobu使用tmuxscreen

首先,安装 byobu 和 tmux:

sudo apt-get install tmux byobu

然后像这样运行它:

byobu-tmux

现在,在 内byobu,您可以按 打开多个窗口/选项卡,F2并使用 在它们之间切换<Alt>+Left/Right。或者直接按<Shift>+<F1>查看完整帮助。

答案2

如前所述,你可以使用 tmux 或 screen 等软件来启动 shell 并使其保持独立运行,但你也可以使用禁止cmd 来启动您的进程并保持它们运行,即使在 rasp 上没有任何打开的会话。

相关内容