Unix:Python脚本是否一直在运行最佳实践?

2024-04-25 21:19:41 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

从您的问题中,您暗示您将从终端启动脚本,而不是通过任何Linux的启动脚本管理方法(如systemd、upstart或init.d脚本)启动脚本。

如果您打算从终端启动脚本,并且希望它在关闭终端后继续运行,则需要做两件事

一。通过在脚本后面附加“&;”,使其在后台运行。

2。当您关闭终端时,与其关联的外壳会在其死亡之前向所有进程发送HUP信号。要忽略HUP信号并继续在后台运行,您需要使用“nohup”启动脚本。

tl;博士
以这种方式运行脚本:

$ nohup python mypythonscript.py &

将脚本添加到rc.local可以工作,但我认为“最佳实践”是使用Upstart。请看这篇文章:

Daemon vs Upstart for python script

这是一个无限循环。您可以在启动时启动脚本,它将永远运行,直到您终止进程本身或关闭计算机。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import time

while True:
    print 'Hello'
    time.sleep(2) # 2 second delay

相关问题 更多 >