Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关闭SSH后,如何在远程服务器上保持python脚本运行?_Python_Ssh_Console - Fatal编程技术网

关闭SSH后,如何在远程服务器上保持python脚本运行?

关闭SSH后,如何在远程服务器上保持python脚本运行?,python,ssh,console,Python,Ssh,Console,我用Python3编写了一个股票交易机器人。我将它托管在一台服务器(Ubuntu18.10)上,我使用iTerm通过SSH将其连接到该服务器上。想知道如何让脚本保持活动运行,这样当我退出会话时,它就不会终止活动进程 基本上,我想用SSH连接到我的服务器,启动脚本,然后关闭并在几天结束后返回到服务器,以停止进程。使用tmux是一个不错的选择。或者,您也可以在命令的末尾使用&来运行该命令,这样它就可以在后台运行 您可以使用屏幕 sudo apt-get install screen screen

我用Python3编写了一个股票交易机器人。我将它托管在一台服务器(Ubuntu18.10)上,我使用iTerm通过SSH将其连接到该服务器上。想知道如何让脚本保持活动运行,这样当我退出会话时,它就不会终止活动进程


基本上,我想用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的好问题/答案,关于谢谢!我要试试这个