Linux 下创建自定义服务(systemctl)
目录
以下用一个python脚本为例,创建一个系统服务。python运行指令:
/usr/bin/python /home/snail/autorun.py
创建服务描述文件
sudo vim /lib/systemd/system/autorun.service
写入如下内容:
[Unit]
Description=Test Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python /home/snail/autorun.py
[Install]
WantedBy=multi-user.target
上面定义了一个叫 Test Service 的服务。它在multi-user环境起来之后运行;ExecStart参数指定我们要运行的程序;idle确保脚本在其他东西加载完成之后运行,它的默认值是simple。
注意使用绝对路径。为了获得脚本的输出信息,我们可以重定向到文件,更改ExecStart。
ExecStart=/usr/bin/python /home/snail/autorun.py > /home/snail/autorun.log 2>&1
添加权限
sudo chmod 644 /lib/systemd/system/autorun.service
生效服务
sudo systemctl daemon-reload
sudo systemctl enable autorun.service