Linux-通过systemctl给Linux增加开机启动脚本
通过systemctl给Linux增加开机启动脚本
man systemd.unit 查看 systemd 查找 unit 文件的路径以及优先级。
systemd默认情况下会从/etc/stsremd/system
这个位置加载开机启动文件,这些文件可以是service、target、mount类型的脚本。
下面我们以树莓派为例,通过systemctl给树莓派添加一个开机启动服务,也就是service。
创建开机启动服务(service)
我们在/etc/stsremd/system
这个目录下创建一个 mystartup.service文件,并且写入以下内容:
1 |
|
创建开机启动脚本
上面的service文件是systemd在系统启动时候调用的,其中ExecStart
的内容就是service启动的时候执行的命令。可以直接写要执行的命令;也可以写一个脚本的地址,那么在系统启动的时候执行的就是这个脚本的内容。
这里的例子是一个脚本。
我们按照ExecStart
里所写的脚本地址创建一个mystartup.sh
,它的完整路径是/home/pi/mystartup.sh
,具体脚本内容如下:
1 |
|
刷新service列表
我们写好 service 文件之后,还不能被systemd识别,需要刷新一下service列表,才能被识别:
1 |
|
执行了上述命令之后,我们的服务就可以被systemctl命令识别了。
设置服务为开启启动
1 |
|
这样,当我们再次开机的时候,脚本就能自动调用了。
取消服务开机启动
1 |
|
查看运行状态
systemctl status mystartup.service
journalctl -u mystartup.service
Linux-通过systemctl给Linux增加开机启动脚本
https://dnacore.github.io/post/4cc30002-6fa7-4c2b-9f9c-f740391054aa.html