[英]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
是一个不错的选择。 或者,您可以在末尾使用&
运行命令,让它在后台运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.