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
文章目录