我正在使用ssh
连接到另一台(更快的)计算机,以便在那里运行一些python代码。我希望它可以运行几个小时,所以我想在运行后断开连接,如下所示:
$ ssh user@my-other-computer
$ python file.py &
$ exit
但是,如果我尝试这样做,我会收到消息:
zsh: you have running jobs.
我尝试使用nohup
:
$ nohup nice python file.py &
但无济于事。
我如何实现我的目标?
答案 0 :(得分:1)
我不知道为什么nohup
不起作用(也许由于nice
,它可以在没有nice
命令的情况下工作),但是还有其他选择:
screen
创建一个未绑定到会话的新终端(您可以先使用screen -d
或Contr+A
分离屏幕会话,然后:detach
并附加再次使用screen -r
)。您可以使用screen python file.py
tmux
是终端多路复用器。它就像屏幕,但具有更多功能且速度更快。您可以使用tmux
打开一个tmux会话,并在新创建的会话中运行python file.py
。您可以使用Contr+B
和d
或tmux detach-client
进行分离。
disown
是一个shell命令,可以从当前shell中放弃所有作业,您可以将其关闭,这些作业将继续运行。