在Ubuntu上20.04编写一个开机自启动Python脚本的程序 |
您所在的位置:网站首页 › 系统开机自启动设置 › 在Ubuntu上20.04编写一个开机自启动Python脚本的程序 |
将python程序注册为Ubuntu系统服务,并开机启动的方法。
一、系统环境
操作系统:ubuntu 18.04以后 (该版本已默认使用systemd作为init) 二、步骤1、在目录/opt/install下 准备python程序 main.py准备sh脚本svc-test.sh #!/bin/bash P_HOME=$(cd "$(dirname "$0")";pwd) echo "P_HOME=$P_HOME" export PYTHONPATH=/opt/install/xxxxxxx/lib/python3.8/site-packages //python packages # export PATH=$PATH: echo "PYTHONPATH=$PYTHONPATH" cd $P_HOME cd src python3 main.py cd ../2、添加执行权限 sudo chmod +x /opt/install/main.py sudo chmod +x /opt/install/svc-test.sh 三.向系统注册服务1、编写注册文件 在 /etc/systemd/system/ 下添加svc-test.service 文件 在svc-test.service文件下复制以下内容 [Unit] Description=svc-test After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=1 User=root ExecStart=/usr/bin/bash /opt/install/svc-test.sh // 必须为绝对路径 [Install] WantedBy=multi-user.target2、添加执行权限 sudo chmod + x /etc/systemd/system/svc-test.service3、重载系统服务 sudo systemctl daemon-reload4、将服务注册为开机启动 sudo systemctl enable svc-test.service5.重启服务查看相应的服务状态即可看到脚本服务自动启动: sudo reboot查看脚本服务状态 sudo systemctl status svc-test看到以下信息即服务在系统中注册成功并可随系统开机自动启动 # systemctl status svc-test ● svc-test.service - svc-test Loaded: loaded (/etc/systemd/system/svc-test.service; enabled; vendor preset: enabled) Active: activating (start) since Thu 2020-01-02 00:42:43 CST; 21min ago Main PID: 574 (python3) Tasks: 1 (limit: 4604) CGroup: /system.slice/svc-test.service └─574 /usr/bin/python3 /usr/bin/svc-test.py Jan 02 00:42:43 NanoPi-M4 systemd[1]: Starting svc-test... 三、附录–一些关于systemctl的命令查看所有服务的状态 systemctl status停止服务 systemctl stop svc-test手工启动服务 systemctl start svc-test查看单个服务的状态 systemctl status svc-test禁用开机启动 systemctl disable svc-test.service参考链接:1.https://www.jianshu.com/p/b75d88e5aa61 2.http://www.manongjc.com/detail/18-cwhjgfrdexqyxof.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |