Contents
如果要使用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