如何在进程 运行 时取消 SSH 连接?
How to cancel a SSH connection while a process is running?
我正在使用 ssh
连接到另一台(更快的)计算机,以便 运行 一些 python 代码。正如我预期的那样 运行 几个小时,我想在 运行 之后断开连接,如下所示:
$ ssh user@my-other-computer
$ python file.py &
$ exit
但是,如果我尝试这样做,我会收到消息:
zsh: you have running jobs.
我尝试使用 nohup
:
$ nohup nice python file.py &
但无济于事。
How can I achieve my goal?
我不知道为什么 nohup
不起作用(可能是因为 nice
,它可以在没有 nice
命令的情况下工作)但是还有其他选择:
screen
创建一个未绑定到您的会话的新终端(您可以分离屏幕会话使用 screen -d
或 Contr+A
然后 :detach
并使用 screen -r
再次附加到它)。您可以 运行 命令使用 screen python file.py
tmux
是终端复用器。它类似于屏幕,但功能更多,速度更快。您可以在新创建的会话中使用 tmux
和 运行 python file.py
打开一个 tmux 会话。您可以使用 Contr+B
和 d
或 tmux detach-client
.
分离
disown
是一个 shell 命令,它 拒绝 当前 shell 中的所有作业,您可以关闭它工作将保持 运行ning.
我正在使用 ssh
连接到另一台(更快的)计算机,以便 运行 一些 python 代码。正如我预期的那样 运行 几个小时,我想在 运行 之后断开连接,如下所示:
$ ssh user@my-other-computer
$ python file.py &
$ exit
但是,如果我尝试这样做,我会收到消息:
zsh: you have running jobs.
我尝试使用 nohup
:
$ nohup nice python file.py &
但无济于事。
How can I achieve my goal?
我不知道为什么 nohup
不起作用(可能是因为 nice
,它可以在没有 nice
命令的情况下工作)但是还有其他选择:
screen
创建一个未绑定到您的会话的新终端(您可以分离屏幕会话使用screen -d
或Contr+A
然后:detach
并使用screen -r
再次附加到它)。您可以 运行 命令使用screen python file.py
tmux
是终端复用器。它类似于屏幕,但功能更多,速度更快。您可以在新创建的会话中使用tmux
和 运行python file.py
打开一个 tmux 会话。您可以使用Contr+B
和d
或tmux detach-client
. 分离
disown
是一个 shell 命令,它 拒绝 当前 shell 中的所有作业,您可以关闭它工作将保持 运行ning.