systemd简单自启动脚本
如果要使用systemd来实现开机自启动,一般将后缀为.service
的unit configuration file
放置在/etc/systemd/system/
下。
如果只是简单地运行一个shell脚本:1
2
3
4
5
6
7
8
9[Unit]
Description=run shell script
[Service]
Type=oneshot
ExecStart=/usr/bin/yourscript
[Install]
WantedBy=multi-user.target
如果还需要关闭的话,则需要加一行ExecStop,并相应修改:
(yourscript脚本接受两种参数并执行不同操作)1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=Power-off gpu
[Service]
Type=oneshot
ExecStart=/usr/bin/yourscript start
ExecStop=/usr/bin/yourscript stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
当然也可以用简单地shell命令来代替unit configuration file规则1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=Power-off gpu
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo OFF > /whatever/switch"
ExecStop=/bin/sh -c "echo ON > /whatever/switch"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
.service文件编写好之后,可以使用1
systemctl enable yourservice.service
来启动服务。
如果.service文件有修改 ,可以需要使用systemctl daemon-reload
命令重新加载。
更多的内置关键字和用法,可以参考https://wiki.ubuntu.com/SystemdForUpstartUsers