前言
为了方便,我们经常希望将一些常用的软件或者程序设为开机启动,这里我以Ubuntu16.04为例进行讲解,介绍几种常见的开机自启动方法。
1. startup application
Step1 给执行文件(自带文件头:
#!/bin/sh
或者#!/usr/bin/env python
)权限:1
sudo chmod 777 可执行文件
Step2 搜索
Startup Application
:直接添加
任务名称Name
、任务执行文件绝对路径或者执行命令Command
和备注Comment
。
2. rc.local
我们可以直接在 /etc/rc.local
中添加开机启动命令,:
1 | #!/bin/sh -e |
另外,记得赋予待执行的源文件可执行权限。
3.init.d
下面保持当前路径为/etc/init.d
:
Step1 在
/etc/init.d
新建一个开机自启动文件,如:test
Step2 在test中写入指令,最好带上文件头:
1
2
3
command &之所以加上
&
是因为有些命令是一直执行的,可以放在后台执行。Step3 赋权限:
1
sudo chmod 777 test
Step4 更新开机自启动列表:
1
2
3sudo update-rc.d test defaults
或者
sudo update-rc.d test defaults 数字加上数字是为了防止有些开机自启动任务有顺序要求,数字越大越晚执行。
删除方式是:
1
sudo update-rc.d -f test remove
4. systemd
systemd
是Ubuntu16.04及之后官方的开机自启动管理方式,我们可以在/etc/systemd/system
中新建一个服务test.service
,权限记得哦~,然后写入:
1 | [Unit] |
各模块具体意义可参考这里。
然后执行:
1 | sudo systemctl daemon-reload |
如果想即刻运行,则:
1 | sudo systemctl start test.service |
注意:以上可通过
systemctl status commandname.service
来查看开机自启动项目是否设立成功,也可以在开机之后利用进程监控。