当前位置:   article > 正文

通过systemd配置python程序开机自启动_python systemd

python systemd

通过systemd配置python程序开机自启动的步骤如下:编写unit文件,文件名要以.service结尾,这里我保存为/home/pi/mystart.service

[Unit]
Description=My service
After=network.target

[Service]
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/python3 -u /home/pi/myled.py
User=pi

[Install]
WantedBy=multi-user.target

 
这个例子能够完成基本的应用自启动,unit文件还有很多参数,可以提供更强大的功能,更多可以自行百度,这里仅对上面例子中使用的选项进行解释。
[Unit]部分中,Description是对该服务的描述,After=network.target表示在网络服务启动之后启动该服务。
[Service]部分中,Restart=on-failure和RestartSec=5表示服务运行失败后,隔5s重新启动;ExecStart表示服务启动时执行的命令,这里执行myled.py程序,-u参数使python程序输出到journal中,这个后面会提到,需要注意文件要使用绝对路径;User=pi表示在pi用户下执行,默认应该是root用户。
[Install]部分中,WantedBy=multi-user.target定义为多用户运行模式,具体我也不太了解。

将该文件mystart.service复制到/etc/systemd/system目录下
sudo cp /home/pi/mystart.service /etc/systemd/system/mystart.service
1
使用systemctl管理服务
启动服务
sudo systemctl start mystart.service
1
此时可以看到led闪烁

查看服务状态
systemctl status mystart.service
1


使用journalctl查看该服务的输出
journalctl -u mystart -e
1


停止服务
sudo systemctl stop mystart.service
1


设置开机自启动
sudo systemctl enable mystart.service
1


关闭开机自启动
sudo systemctl disable mystart.service
1


添加或修改配置文件后,需要重新加载
sudo systemctl daemon-reload
1
使用systemd配置程序开机自启动可以更方便的查看程序输出的信息、以及程序运行的错误,并且可以设置程序崩溃后自动重启,如下图所示:

使用journalctl -u mystart -e查看,可以看到程序错误退出5s后会再重启。
 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号