进程运行时如何取消SSH连接?

时间:2019-12-09 05:40:46

标签: python ssh nohup nice

我正在使用ssh连接到另一台(更快的)计算机,以便在那里运行一些python代码。我希望它可以运行几个小时,所以我想在运行后断开连接,如下所示:

$ ssh user@my-other-computer
$ python file.py &
$ exit 

但是,如果我尝试这样做,我会收到消息:

zsh: you have running jobs.

我尝试使用nohup

$ nohup nice python file.py &

但无济于事。

  

我如何实现我的目标?

1 个答案:

答案 0 :(得分:1)

我不知道为什么nohup不起作用(也许由于nice,它可以在没有nice命令的情况下工作),但是还有其他选择:

  • screen创建一个未绑定到会话的新终端(您可以先使用screen -dContr+A分离屏幕会话,然后:detach并附加再次使用screen -r)。您可以使用screen python file.py

  • 运行命令
  • tmux是终端多路复用器。它就像屏幕,但具有更多功能且速度更快。您可以使用tmux打开一个tmux会话,并在新创建的会话中运行python file.py。您可以使用Contr+Bdtmux detach-client进行分离。

  • disown是一个shell命令,可以从当前shell中放弃所有作业,您可以将其关闭,这些作业将继续运行。