📅  最后修改于: 2023-12-03 15:40:41.196000             🧑  作者: Mango
在某些场景下,我们希望 Python 脚本在系统启动后一直运行,直到系统关闭或脚本主动退出。本文将介绍如何实现这样的功能。
一种常见的方法是使用 systemd。systemd 是 Linux 系统中常用的服务管理器,可以管理系统服务的启动、停止、重启等操作。以下是使用 systemd 运行 Python 脚本的步骤:
.service
结尾,例如 my-script.service
。在该文件中添加以下内容:[Unit]
Description=My Script
[Service]
Type=simple
ExecStart=path/to/python /path/to/my-script.py
Restart=always
User=myuser
[Install]
WantedBy=multi-user.target
在 ExecStart
行中,将 path/to/python
替换为 Python 解释器的路径(可以使用 which python
命令查找),将 /path/to/my-script.py
替换为要运行的 Python 脚本的路径。在 User
行中,将 myuser
替换为要运行脚本的用户。
/etc/systemd/system/
目录下:sudo cp my-script.service /etc/systemd/system/
sudo systemctl start my-script
现在你的 Python 脚本已经在后台运行了,可以使用以下命令查看状态:
sudo systemctl status my-script
如果想要让脚本在系统启动时自动运行,可以使用以下命令:
sudo systemctl enable my-script
另一种方法是使用 crontab。crontab 是一种在指定时间运行命令的工具,也可以用来实现在系统启动时运行指定脚本的功能。以下是使用 crontab 运行 Python 脚本的步骤:
crontab -e
@reboot path/to/python /path/to/my-script.py &
其中 path/to/python
和 /path/to/my-script.py
与上述方法相同。
现在你的 Python 脚本已经在后台运行了,可以使用以下命令查看状态:
ps aux | grep my-script.py
这里介绍了两种在系统启动后一直运行 Python 脚本的方法:使用 systemd 和使用 crontab。前者更加灵活,可以实现更多定制化的需求,而后者则更加简单易用。根据实际需求选择适合自己的方式即可。