如何让Python脚本全天候运行

1 投票
3 回答
2500 浏览
提问于 2025-04-18 15:52

我有一个叫做 post.py 的 Python 脚本,它会检查发送到我服务器的 HTTP "POST" 请求。这个脚本是放在 AWS 的 EC2 服务器上的。我希望这个服务能够一直运行这个 Python 脚本,而不需要我每次都打开命令行窗口去输入:python post.py

那么,怎么才能让这个 Python 脚本一直运行呢?

3 个回答

1

如果你想让程序在终端关闭后继续运行,可以使用nohup这个命令(详细信息可以查看这里)。如果你想定期多次执行post.py这个脚本,可以使用cron作业,这是Linux系统中的一个工具。如果你想在Python中实现类似的功能,可以查看这个链接

2

你应该使用 supervisord 来让你的脚本在后台运行。你的配置文件应该像下面这样:

[program:post]
command: /usr/bin/python -m post
directory: /home/ubuntu/post  # if post.py is in a folder called post that lives in home/ubuntu
autostart: true
2

我发现了一个很简单的方法,可以让我的脚本在后台运行:

我去了 /etc/init/ 这个文件夹,然后新建了一个叫做 post.config 的文件。

我在里面写了这些内容:

start on runlevel [2345]
stop on runlevel [!2345]

env AN_ENVIRONMENTAL_VARIABLE=i-want-to-set

respawn

exec /home/ubuntu/Files/mysite/post.py

现在它运行得非常顺利!

撰写回答