关闭SSH后,如何在远程服务器上保持python脚本运行?
我用Python3编写了一个股票交易机器人。我将它托管在一台服务器(Ubuntu18.10)上,我使用iTerm通过SSH将其连接到该服务器上。想知道如何让脚本保持活动运行,这样当我退出会话时,它就不会终止活动进程关闭SSH后,如何在远程服务器上保持python脚本运行?,python,ssh,console,Python,Ssh,Console,我用Python3编写了一个股票交易机器人。我将它托管在一台服务器(Ubuntu18.10)上,我使用iTerm通过SSH将其连接到该服务器上。想知道如何让脚本保持活动运行,这样当我退出会话时,它就不会终止活动进程 基本上,我想用SSH连接到我的服务器,启动脚本,然后关闭并在几天结束后返回到服务器,以停止进程。使用tmux是一个不错的选择。或者,您也可以在命令的末尾使用&来运行该命令,这样它就可以在后台运行 您可以使用屏幕 sudo apt-get install screen screen
基本上,我想用SSH连接到我的服务器,启动脚本,然后关闭并在几天结束后返回到服务器,以停止进程。使用
tmux
是一个不错的选择。或者,您也可以在命令的末尾使用&
来运行该命令,这样它就可以在后台运行
您可以使用屏幕
sudo apt-get install screen
screen
./run-my-script
Ctrl-A then D to get out of your screen
从那里,您将能够关闭ssh终端。晚点再来跑
screen -ls
screen -r $screen_running
运行的屏幕通常是列出所有屏幕后看到的前5位数字。您可以查看脚本是否仍在运行,或者是否添加了日志记录,您可以查看进程中的位置。您可以使用并在命令末尾添加&
,以安全退出会话,而不会终止原始进程。例如,如果脚本名为script.py
:
nohup python3 script.py&
通常,当使用
&
运行命令并随后退出shell时,shell将使用挂断信号(kill-SIGHUP
)终止子命令。使用nohup
可以防止这种情况,因为它捕捉到信号并忽略它,因此它永远不会到达实际的应用程序。我会看一看,但您也可以研究将脚本作为守护进程运行,因此这里有一个关于AskUbuntu的好问题/答案,关于谢谢!我要试试这个