Linux下创建自定义服务(systemctl)

以下用一个python脚本为例,创建一个系统服务。python运行指令:

1
/usr/bin/python /home/snail/autorun.py

创建服务描述文件

1
sudo vim /lib/systemd/system/autorun.service

写入如下内容:

1
2
3
4
5
6
7
8
9
10
[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。

1
ExecStart=/usr/bin/python /home/snail/autorun.py > /home/snail/autorun.log 2>&1

添加权限

1
2

sudo chmod 644 /lib/systemd/system/autorun.service

生效服务

1
2
sudo systemctl daemon-reload
sudo systemctl enable autorun.service

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×