运行级别是基于Unix的操作系统运行的模式之一。每个运行级别都有一定数量的服务停止或启动,从而使用户能够控制机器的行为。 通常,存在七个运行级别,从零到六。
Linux内核启动后,init程序读取/etc/inittab 文件以确定每个运行级别的行为。 除非用户将另一个值指定为内核启动参数,否则系统将进入(启动)默认的运行级别。
大多数Linux服务器缺少图形用户界面,因此在运行级别3中启动。具有GUI和桌面Unix系统的服务器启动运行级别5。当服务器发出重新启动命令时,它将进入运行级别6。
init脚本
init(initialization的简写)是Unix和类Unix系统上产生所有其他进程的程序。 它作为守护进程运行,一般PID是1。
/etc/inittab文件用于设置系统的默认运行级别。这是系统在重新启动时启动的运行级别。
由init启动的应用程序位于/etc/rc.d文件夹中。在这个目录下,每个运行级别都有一个单独的文件夹,例如rc0.d,rc1.d等。
/etc/init.d 文件夹中放着各个独立服务的启动脚本(/etc/init.d 是个软链接,指向/etc/rc.d/init.d)。如果我们需要启动nginx:
# /etc/init.d/独立服务名 start|stop|status|restart
# service 独立服务名 start|stop|status|restart
# Note: service命令只存在于基于Red Hat的操作系统(如CentOS)中
/etc/init.d/nginx start
chkconfig命令
在基于Red Hat的操作系统(如CentOS)中,chkconfig工具用于控制哪些运行级别启动哪些服务。 运行命令chkconfig -list可以看到各个服务分别在不同运行级别下是启动还是禁用。
[root@host ~]# chkconfig --list
network 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
nfs-rdma 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
nginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
ntpd 0:关闭 1:关闭 2:启用 3:关闭 4:启用 5:启用 6:关闭
ntpdate 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
openresty 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭
管理服务自启动
# chkconfig [--level 运行级别] [独立服务名] [on|off]
#设置自启动nginx
chkconfig --level 2345 nginx on
#查看命令执行结果
[root@host ~]# chkconfig --list | grep nginx
nginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
#关闭nginx自启动
chkconfig nginx off