【笔记】SysVinit学习笔记

前言

init(为英语:initialization的简写)是Unix和类Unix系统中用来产生其它所有进程的程序。它以守护进程的方式存在,其进程号为1。Linux系统在开机时加载Linux内核后,便由Linux内核加载init程序,由init程序完成余下的开机过程,比如加载执行级别,加载服务,启动Shell/图形化界面等等。(维基百科

Linux通过SysVinit的service命令管理服务

配置文件路径

  • /etc/init.d

启动服务

<name>:服务名,可以以.service结尾,也可以省略

1
service <name> start

关闭服务

1
service <name> stop

重启服务

1
service <name> restart

重新加载服务配置

  • 如果程序支持配置文件热重载,则重新加载服务配置;如果程序不支持配置文件热重载,则降级为restart
1
service <name> force-reload

查看服务运行状态

1
service <name> status

启用开机自启

1
chkconfig <name> on
1
sysv-rc-conf <name> on

禁止开机自启

1
chkconfig <name> off
1
sysv-rc-conf <name> off

手动编辑自启选项

1
sysv-rc-conf

0:系统停机状态
1:单用户或系统维护状态
2345:多用户状态
6:重新启动

报错

  • 报错:chkconfig: command not found

原因

  • Debian中的chkconfig已经被sysv-rc-conf取代

解决问题

  • 安装sysv-rc-conf
1
apt install sysv-rc-conf

报错

  • 报错:Unable to locate package sysv-rc-conf

原因

  • apt仓库中没有sysv-rc-conf

解决问题

  • 添加仓库源
/etc/apt/sources.list
1
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
  • 更新软件源
1
apt update
  • 下载sysv-rc-conf
1
apt install sysv-rc-conf

完成

参考文献

博客园——A5互联
CSDN——willingtolove
CSDN——willingtolove
博客园——nineep