linux 开机自启
1 修改/etc/rc.local
rc.local脚本是一个ubuntu开机后会自动执行的脚本(重启后),我们可以在该脚本内添加命令行指令
在exit 0前添加命令即可
注意这个文件默认是没有运行权限的,所以要想生效需要给他加上运行权限
chmod 755 /etc/rc.local
2 服务模式开机自启
这个方法是写了一个脚本,实现start,stop,restart三个方法,把这个脚本当作一个服务
然后使用 update-rc.d 命令软连接到rc.d文件上。实现开机自启
增加开机启动脚本
sudo vi /etc/init.d/aria2c
添加如下内容:
注意如果进程的名字确定的话可以使用killall这个简单的杀进程命令。
但是如果不确定可以使用如:
ps -aux | grep "name" | awk '{print $2}' | xargs kill -9 > /dev/null 2>&1
#!/bin/sh
### BEGIN INIT INFO
# Provides: aria2
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
case "$1" in
start)
echo -n "已开启Aria2c"
sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
;;
stop)
echo -n "已关闭Aria2c"
killall aria2c
;;
restart)
killall aria2c
sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
;;
esac
exit 0
上边的INIT INFO是必须写的,要不然它给你报warning。不合规矩。
它需要根据你给出的信息做一些操作。
Requried应该是要检测需求,(我没实际验证)
Default是设定权限,这方面的详细信息可以去看关于rc.d的介绍
再下面就是一个选择分支,实现三个方法
修改文件权限为755
sudo chmod 755 /etc/init.d/aria2c
添加aria2c服务到开机启动
sudo update-rc.d aria2c defaults
此时可以在/etc目标下看到新生成的启动文件
ls /etc/rc*
可以在重启级别中找到aria2c
rc6.d:
K01alsa-utils K01kerneloops K01speech-dispatcher
K01aria2c K01open-vm-tools K01spice-vdagent
K01avahi-daemon K01openvpn K01udev
K01bluetooth K01plymouth K01unattended-upgrades
K01cups-browsed K01pulseaudio-enable-autospawn K01uuidd
K01gdm3 K01rsyslog
K01irqbalance K01saned
启动服务
sudo service aria2c start
查看服务状态
sudo systemctl status aria2c
移除开机脚本
update-rc.d -f aria2c remove
此时再去看/etc文件目录
ls /etc/rc*
可以发现aria2c已经去除了
/etc/rc6.d:
K01alsa-utils K01kerneloops K01saned
K01avahi-daemon K01open-vm-tools K01speech-dispatcher
K01bluetooth K01openvpn K01spice-vdagent
K01cups-browsed K01plymouth K01udev
K01gdm3 K01pulseaudio-enable-autospawn K01unattended-upgrades
K01irqbalance K01rsyslog K01uuidd
查看开机启动项
systemd-analyze blame