百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

linux init进程(linux init 1)

gudong366 2025-07-27 17:28 4 浏览

一. init是Linux系统操作中不可缺少的程序之一。

所谓的init进程,它是一个由内核启动的用户级进程。

内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。

所以,init始终是第一个进程(其进程编号始终为1)。

内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。

如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。

二. init一共分为7个级别,这7个级别的所代表的含义如下

  • 0:停机或者关机(千万不能将initdefault设置为0)
  • 1:单用户模式,只root用户进行维护
  • 2:多用户模式,不能使用NFS(Net File System)
  • 3:完全多用户模式(标准的运行级别)
  • 4:安全模式
  • 5:图形化(即图形界面)
  • 6:重启(千万不要把initdefault设置为6)

其实,可以通过查看/etc/rc.d/中的rc*.d的文件来对比理解。

init 0,对应的系统会运行,/etc/rc.d/rc0.d里指定的程序。我们来看下名称

[root@localhost  ~]# ls /etc/rc.d/rc0.d 
K01dnsmasq    K15ksmtuned  K35nmb         K60crond       K74lm_sensors  K83portreserve     K85rpcgssd    K88iscsi     K90network       S00killall
K10cups       K16ksm       K35smb         K66gpsd        K75netfs       K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S01halt
K10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K75udev-post   K84wpa_supplicant  K86nfslock    K89iscsid    K92iptables
K10xfs        K25sshd      K50haldaemon   K70vboxdrv     K76openvpn     K85mdmonitor       K87alsasound  K89netplugd  K98qemu
K15gpm        K30sendmail  K50netconsole  K74acpid       K83bluetooth   K85messagebus      K87rpcbind    K89rdisc     K99lvm2-monitor

开机会执行的两个进程是killall和halt,这两个都表示为终止进程。

故init 0是用于表示关机的。

init 1,对应的系统会运行,/etc/rc.d/rc1.d里指定的程序。

[root@localhost ~] # ls /etc/rc.d/rc1.d
K01dnsmasq    K15ksmtuned  K35nmb         K60crond       K74lm_sensors   K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S99single
K10cups       K16ksm       K35smb         K66gpsd        K75netfs        K84wpa_supplicant  K86nfslock    K89iscsid    K92iptables
K10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K76openvpn      K85mdmonitor       K87alsasound  K89netplugd  K98qemu
K10xfs        K25sshd      K50haldaemon   K70vboxdrv     K83bluetooth    K85messagebus      K87rpcbind    K89rdisc     S02lvm2-monitor
K15gpm        K30sendmail  K50netconsole  K74acpid       K83portreserve  K85rpcgssd         K88iscsi      K90network   S26udev-post

这个级别启动的服务有三个,udev、lvm相关的和single(单用户模式的服务)。故此级别是单用户模式,只有root能用,不支持其他用户。

init 2,对应的系统会运行,/etc/rc.d/rc2.d里指定的程序。

[root@localhost ~ ]# ls /etc/rc.d/rc2.d/
K01dnsmasq    K20nfs       K36mysqld      K74lm_sensors      K85rpcgssd    K89netplugd      S08iptables    S23NetworkManager  S30vboxdrv    S99local
K10saslauthd  K25sshd      K50haldaemon   K75netfs           K85rpcidmapd  K89rdisc         S12rsyslog     S24portreserve     S35qemu
K10xfs        K30sendmail  K50netconsole  K76openvpn         K86nfslock    K90network       S13rpcbind     S25cups            S85gpm
K15ksmtuned   K35nmb       K66gpsd        K83bluetooth       K88iscsi      S02lvm2-monitor  S15mdmonitor   S26acpid           S90crond
K16ksm        K35smb       K69rpcsvcgssd  K84wpa_supplicant  K89iscsid     S08ip6tables     S22messagebus  S26udev-post       S99alsasound

这个级别启动的服务多了,
NetworkManager/iptables/acpid/alsa都已经开启,但是nfs,smb,openvpn相关服务没有开启,这个级别不支持nfs。

init 3, 对应的系统运行/etc/rc.d/rc3.d

[root@localhost ~] # ls /etc/rc.d/rc3.d/
K01dnsmasq    K30sendmail    K74lm_sensors      K89rdisc         S08iptables  S18rpcidmapd       S25cups       S35qemu       S85ksmtuned   S99local
K10saslauthd  K36mysqld      K76openvpn         K90network       S12rsyslog   S19rpcgssd         S25netfs      S50bluetooth  S90crond
K10xfs        K50netconsole  K84wpa_supplicant  K99lvm2-monitor  S13iscsi     S22messagebus      S26acpid      S50haldaemon  S91nmb
K20nfs        K66gpsd        K85mdmonitor       S07iscsid        S13rpcbind   S23NetworkManager  S26udev-post  S84ksm        S91smb
K25sshd       K69rpcsvcgssd  K89netplugd        S08ip6tables     S14nfslock   S24portreserve     S30vboxdrv    S85gpm        S99alsasound

这个级别nfs服务是开启的,被成为完全多用户模式。

init 4

[root@localhost ~ ]# ls /etc/rc.d/rc4.d/
K01dnsmasq    K30sendmail    K66gpsd            K85mdmonitor     S07iscsid     S13rpcbind     S23NetworkManager  S26udev-post  S84ksm        S99local
K10saslauthd  K35nmb         K69rpcsvcgssd      K89netplugd      S08ip6tables  S14nfslock     S24portreserve     S30vboxdrv    S85gpm
K10xfs        K35smb         K74lm_sensors      K89rdisc         S08iptables   S18rpcidmapd   S25cups            S35qemu       S85ksmtuned
K20nfs        K36mysqld      K76openvpn         K90network       S12rsyslog    S19rpcgssd     S25netfs           S50bluetooth  S90crond
K25sshd       K50netconsole  K84wpa_supplicant  K99lvm2-monitor  S13iscsi      S22messagebus  S26acpid           S50haldaemon  S99alsasound

此模式被称为安全模式。

init 5

[root@localhost ~ ]# ls /etc/rc.d/rc5.d/
K01dnsmasq    K25sshd        K66gpsd         K84wpa_supplicant  K87rpcbind   K90network       S22messagebus      S26udev-post  S84ksm        S99local
K10saslauthd  K30sendmail    K69rpcsvcgssd   K85mdmonitor       K88iscsi     K99lvm2-monitor  S23NetworkManager  S30vboxdrv    S85ksmtuned
K10xfs        K36mysqld      K74lm_sensors   K85rpcgssd         K89iscsid    S08ip6tables     S25cups            S35qemu       S91nmb
K15gpm        K50netconsole  K76openvpn      K85rpcidmapd       K89netplugd  S08iptables      S25netfs           S50bluetooth  S91smb
K20nfs        K60crond       K83portreserve  K86nfslock         K89rdisc     S12rsyslog       S26acpid           S50haldaemon  S99alsasound

完全的图形化界面模式

init 6

[root@localhost ~ ]# ls /etc/rc.d/rc6.d/
K01dnsmasq    K15ksmtuned  K35nmb         K60crond       K74lm_sensors  K83portreserve     K85rpcgssd    K88iscsi     K90network       S00killall
K10cups       K16ksm       K35smb         K66gpsd        K75netfs       K84NetworkManager  K85rpcidmapd  K88rsyslog   K92ip6tables     S01reboot
K10saslauthd  K20nfs       K36mysqld      K69rpcsvcgssd  K75udev-post   K84wpa_supplicant  K86nfslock    K89iscsid    K92iptables
K10xfs        K25sshd      K50haldaemon   K70vboxdrv     K76openvpn     K85mdmonitor       K87alsasound  K89netplugd  K98qemu
K15gpm        K30sendmail  K50netconsole  K74acpid       K83bluetooth   K85messagebus      K87rpcbind    K89rdisc     K99lvm2-monitor

这个级别里,只有两个服务,一个为killall,一个是reboot,即,关闭现在的系统,重启。故此级别是重启。

不同的系统版本,可能里面的文件会不同,如果要查看,可以通过ll来看,其实他们都是软连接。

相关推荐

理解Linux进程和线程(linux的进程和线程的区别)

#进程-进程是一个执行中的程序,它拥有自己独立的内存空间,不同进程的地址空间是相互隔离的。-进程有自身的代码段,数据段,堆,栈等。进程需要耗费资源创建和销毁。-进程之间的通信需要借助IPC(I...

Linux进程上下文切换过程context_switch详解

1前言1.1Linux的调度器组成2个调度器可以用两种方法来激活调度一种是直接的,比如进程打算睡眠或出于其他原因放弃CPU另一种是通过周期性的机制,以固定的频率运行,不时的检测是否有必要因此...

linux init进程(linux init 1)

一.init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通...

【Linux系统编程】特殊进程之守护进程

01.守护进程概述守护进程(DaemonProcess),也就是通常说的Daemon进程(精灵进程),是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地...

在 Linux 中如何强制停止进程?kill 和 killall 命令有什么区别?

在日常工作中,您会遇到两个用于在Linux中强制结束程序的命令;kill和killall。虽然许多Linux用户都知道kill命令,但知道并使用killall命令的人并不多。这两个命令...

嵌入式Linux系统编程——连进程间通信都不懂,还自称linux大神?

所有学嵌入式Linux系统的看过来了,以下内容是每一位想学习Linux嵌入式系统想要了解的内容,真的很想要分享给大家!本文分享的内容主要如下几个方面:(绝对的精品资料,不收藏可惜了)6.1共享内存...

Linux基础运维篇:Linux进程与服务管理(第010课)

在Linux系统里,进程和服务管理就像是一个大管家的工作,得把各种程序的运行安排得明明白白,这样系统才能稳稳当当地干活。进程就是程序跑起来的一个实例,服务呢,是那种一直在后台默默工作的进程,咱下面...

深度剖析Linux内核《如何唤醒线程》

linux内核如何唤醒线程//本文代码片段出自linux内核版本:4.1.15linux内核唤醒线程主要使用wake_up_process()。一、wake_up_process()分析在linux内...

字节因它而跳动!顶级资深大牛整理的“深入理解Linux内核”

如果你对Linux如何工作。其性能又为什么会如此之高怀有强烈的好奇心。你将会从这里找到答案.阅读本文之后,你会通过上千行代码找到自己的方式来区别重要数据结构和次要数据结构的不同,简而言之,你蒋成为一名...

都说Linux内核很吊,它到底是个啥玩意儿?

了解完基本信息之后,我们来看一看,为什么说它吊?吊在哪里?甚至我觉得不仅仅是c/c++Linux开发的可以学习,Java、Python等方面的都可以学习提升一下。linux内核有什么用?linux内核...

77% 的 Linux 运维都不懂的内核问题,这篇全告诉你了

前言之前在实习时,听了OOM的分享之后,就对Linux内核内存管理充满兴趣,但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟,所以经过一个一段时间的积累,对内核内存有一定了解之后,今...

Linux 内核开发流程的一个典型例子

>authorLinusTorvalds<torvalds@linux-foundation.org>2025-07-0813:31:29-0700>committ...

Vold原理介绍(volte基本原理)

一、Vold简介Android中Vold是volumeDaemon,即Volume守护进程,用来管理Android中存储类的热拔插事件。这里的热插拔涉及的场景如:手机usb以MTP或者传输照片方式...

2-剖析Linux内核源码分析《中断处理》

一、中断向量及汇编指令1、中断向量Intelx86系列机器共支持256种向量中断,Intel用一个8位无符号整数叫做一个向量,因此也叫中断向量。所有256种中断可分为两大类:异常和中断,异常又称为故...

剖析linux内核(一文看懂linux内核)

PASmm_struct详解malloc()函数是用户态常用的分配内存接口,mmap()函数是用户态常用创建文件映射或匿名映射。进程地址空间在linux内核当中使用structvm_area...