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


3

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

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

Answers:


2

您可以使用 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> 看到完整的帮助。


你有机会获得教程的链接吗?
0x539

老兄,不需要教程。只需执行以下两个步骤:1)安装它,然后运行它。然后,每当你重新连接到RPi时,只需发出 byobu-tmux 命令和您以前的会话将完好无损地打开。
shivams

不过,如果你需要一个,这里有一个使用byobu的好演示: youtube.com/watch?v=NawuGmcvKus
shivams

tmux很棒! :)有可能在控制台的bottem上改变那个绿色条的颜色吗?
0x539


1

如前所述,您可以使用tmux或screen之类的软件来启动shell并使其保持分离状态,但您也可以使用 nohup的 cmd启动您的进程并使其保持运行,即使没有任何打开会话的锉刀。


但是没有nohup没有过程标准的东西会离开你吗?
0x539

1
是。但您可以使用重新连接到该过程 reptyr
shivams

当然,您可以将进程输出重定向到文件。
Oliver Friedrich
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.