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



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

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

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

zsh: you have running jobs.

我尝试使用nohup

$ nohup nice python file.py &

但无济于事。

怎样才能实现我的目标?

我不知道为什么nohup不起作用(也许是因为nice,它可以在没有nice命令的情况下工作(,但有替代方案:

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

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

  • disown是一个 shell 命令,它从当前 shell 中取消所有作业,您可以关闭它,作业将保持运行。

最新更新