繁体   English   中英

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

[英]How can I keep a python script on a remote server running after closing out of SSH?

我用 Python3 编写了一个股票交易机器人。 我将它托管在我使用 iTerm 进行 SSH 连接的服务器(Ubuntu 18.10)上。 想知道如何保持脚本积极运行,以便当我退出会话时它不会终止活动进程。

基本上,我想通过 SSH 连接到我的服务器,启动脚本,然后关闭并在结束该过程时再回到它。

您可以使用屏幕

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 位数字。 您可以查看您的脚本是否仍在运行,或者您是否添加了日志记录,您可以查看您在进程中的哪个位置。

您可以使用nohup并在命令末尾添加&以安全退出会话而不会终止原始进程。 例如,如果您的脚本名称是script.py

nohup python3 script.py &

通常,当使用&运行命令并随后退出 shell 时,shell 将使用挂断信号( kill -SIGHUP <pid> )终止子命令。 使用nohup可以防止这种情况,因为它会捕获信号并忽略它,因此它永远不会到达实际应用程序。

使用tmux是一个不错的选择。 或者,您可以在末尾使用&运行命令,让它在后台运行。

https://tmuxcheatsheet.com/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM