Linux开机启动一些知识点

运行级别

   Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init进程上来首先做的事是去读取/etc/目录下inittab文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到6 ,具有不同的功能。不同的运行级定义如下:
  # 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)
  # 1 - 单用户模式
  # 2 - 多用户,没有 NFS
  # 3 - 完全多用户模式(标准的运行级)
  # 4 – 系统保留的
  # 5 - X11 (x window-就是图形界面)
  # 6 - 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )
   其中3和5是比较常用的运行级别

/etc/rc.d/与/etc/rc.d/init.d的关系

init.d目录存放服务的命令文件,比如zookeeper

rc0.d\rc1.d\rc2.d\rc3.d\rc4.d\rc5.d\rc6.d中存放的是各个运行级别需要开机启动和关机停止服务的连接文件,该文件连接到/etc/rc.d/init.d目录中对应的服务文件

拿其中一个zookeeper来说

/etc/rc.d/init.d/zookeeper文件中有一行

#chkconfig:2345 20 90

2345:为主机运行的级别,表示主机运行在2、3、4、5个级别时都会启动zookeeper,而0 、1、6级别时停止zookeeper

20:开机启动的优先级,要比solr的50大

90:关机停止的顺序

一般设置时,先启动,则后停止,注意不要把启动值设置得太小,否则可能一些系统核心服务还没有启动起来,导致你的应用无法启动

使用

chkconfig --add zookeeper

则会在rc2.d\rc3.d\rc4.d\rc5.d中生成S20zookeeper连接文件,在rc0.d\rc1.d\rc6.d中生成K90zookeeper连接文件

S:代表启动

K:代表停止

20:代表启动的顺序,值越小越先启动

zookeeper:服务名字,就是/etc/rc.d/init.d中的文件名

当开机启动的时候,执行S20zookeeper时会在命令后面添加start启动参数

当关机停止的时候,执行K90zookeeper时会在命令后面添加stop停止参数

猜你喜欢

转载自my.oschina.net/u/3049601/blog/1803410