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

问题描述 投票:0回答:1

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

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

但是,如果尝试此操作,则会收到消息:

zsh: you have running jobs.

我尝试使用nohup

$ nohup nice python file.py &

但无济于事。

我如何实现我的目标?

python ssh nohup nice
1个回答
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中取消所有作业关闭该作业,这些作业将保持运行状态。

© www.soinside.com 2019 - 2024. All rights reserved.