通过SSH启动一个长期运行的程序

时间:2016-01-17 18:45:15

标签: linux bash ubuntu ssh

我有一台运行Ubuntu的虚拟机,我可以通过SSH进入虚拟机。我甚至可以使用以下命令通过SSH启动我的python程序:

python foldername/app.py

我在Windows机器上,使用Git Bash SSH。如果我启动我的python程序,我必须打开Git Bash窗口。如何启动python程序而不必在我的Windows机器上打开Git Bash?非常感谢任何帮助!

3 个答案:

答案 0 :(得分:8)

您可以使用nohup

nohup python foldername/app.py &

现在您可以关闭连接,程序将继续运行。您可以找到更多信息herehere

答案 1 :(得分:3)

另一种选择是使用虚拟终端,例如:

它们都应该通过ubuntu包管理器提供。

然后(通过ssh登录后)发出以下命令:

  • 屏幕
  • python myprog.py
  • CTRL + A D

或tmux

  • TMUX
  • python myprog.py
  • CTRL + B D

然后,您可以关闭ssh连接并在稍后返回时查看输出,只需输入screen attachtmux attach

我个人建议使用tmux。

答案 2 :(得分:0)

我想到了两种主要方法,取决于你的目标:

  1. 使程序以DefaultCellStyle.WrapMode(在后台运行,未连接到任何终端的程序)运行;如果合适(并且在逻辑上可行),请配置系统范围的enter image description here系统以启动它。

  2. 或者,只需在程序(如init)下运行该程序,该程序实现一个可以根据需要附加/分离的持久虚拟终端。

    < / LI>