我正在通过 ssh 连接到安装了 Raspbian 的 RaspberryPi。我的问题是,我无法让 RasPi 在计算机关闭时执行操作(例如,安装软件、执行计算),因为我通过 SSH 启动的进程是 SSH shell 的子进程,并且在连接结束时终止。我知道我可以从 shell 断开子进程,但我不确定如何使用它。我希望能够看到尽可能多的进程输出(也许在文件中?)。
顺便说一句:我正在使用 Windows 7 上的 PuTTY。
答案1
您可以使用screen
或tmux
来实现这一点。我更喜欢tmux
。tmux 的作用基本上是创建不同的 tmux 会话,即使您关闭了 ssh 会话,这些会话仍会继续运行。当您稍后重新连接时,您可以重新打开该会话,您将看到一切都运行良好。
这是使用 ssh 时的标准做法。
为了获得更好的界面和功能,您可以byobu
使用tmux
或screen
。
首先,安装 byobu 和 tmux:
sudo apt-get install tmux byobu
然后像这样运行它:
byobu-tmux
现在,在 内byobu
,您可以按 打开多个窗口/选项卡,F2
并使用 在它们之间切换<Alt>+Left/Right
。或者直接按<Shift>+<F1>
查看完整帮助。
答案2
如前所述,你可以使用 tmux 或 screen 等软件来启动 shell 并使其保持独立运行,但你也可以使用禁止cmd 来启动您的进程并保持它们运行,即使在 rasp 上没有任何打开的会话。