关闭终端后如何运行 python 脚本?

关闭终端后如何运行 python 脚本?

抱歉,这个问题问得有点儿无聊,这是我第一次遇到 VDS。我已经设置好了一切,安装了应用程序所需的所有 Python 模块,然后运行了我的脚本,如下所示

python test.py

它运行正常,但是在我关闭用于远程连接到我的 VDS 的 ssh 窗口后 - 该脚本不再起作用。

如何运行我的 test.py 以使其 24\7 全天候工作?

答案1

您可以使用nohup命令:

nohup python test.py &

即使在您关闭 ssh 会话后,这也将继续运行命令。在控制终端进程死亡时nohup捕获SIGHUP信号以确保命令继续运行。

python test.py &如果你的 shell 忽略了 ,那么简单地使用也可能有效SIGHUP。在这种情况下,你的 python 进程将被重新设置为在里面进程并继续运行。但这依赖于 shell。

例如,bash 有一个选项huponexit- 当它关闭时,将发生重新父化;当它打开时,SIGHUP 将被发送到后台进程。这就是nohup要走的路。

相关内容