Linux 运行级别和开机启动任务

参考 /etc/initab 中的注释:

# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
  • 0:关机
  • 1:单用户模式,root 权限,多用于系统维护
  • 2:无网络连接的多用户模式
  • 3:有网络连接的多用户模式
  • 4:保留
  • 5:带图形界面(GUI)的多用户模式
  • 6:重启
    据说和 0 级的不同之处就是在于最后传给 halt 命令的参数不同

每个级别都有一个 /etc/rc*.d/ 目录与之关联,进入该级别之后,会逐个运行该目录下的文件。

常用命令

  • 查看上一个运行级别和当前运行级别:runlevel
    如果开机之后没有切换过,那么上一个运行级别的位置显示为 N。
  • 另一种查看当前运行级别的方法:who -r
  • 临时切换运行级别:init <level>
    init 5 就等于 startx,开启 X 服务
  • 开机启动级别在 /etc/initab 中,比如:id:3:initdefault:

chkconfig

  • chkconfig [--list] [--type <type>] [name]
    列出开机启动任务
  • chkconfig --add <name>
    增加开机启动任务
  • chkconfig --del <name>
    删除开机启动任务
  • chkconfig --override <name>
  • chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>
    设置开机启动任务的运行级别