init
2024年10月29日大约 2 分钟
init 命令
init 命令是 Linux 系统中的一种用于控制系统运行级别的命令。运行级别(Runlevel)决定了系统的运行状态,例如启动到多用户模式、进入图形界面,或关机、重启等。Linux 中的 init 命令是启动系统进程的第一个进程,它的 PID 总是 1。
现代 Linux 发行版(如 CentOS 7+、Ubuntu 16.04+ 等)已经逐渐转向 systemd 来管理系统服务和运行级别,但 init 命令在某些情况下仍然适用,或可以通过 systemd 的兼容命令来完成。
1. init 命令语法
init [运行级别]
其中,[运行级别] 是一个数字,指定了系统应进入的运行级别。2. 常见运行级别说明
不同的运行级别在不同 Linux 发行版中有细微差别,但一般的定义如下:
0:关机1:单用户模式(通常用于系统维护)2:多用户模式,无网络3:完全多用户模式,命令行界面4:通常未使用(保留备用)5:完全多用户模式,带图形界面(GUI)6:重启系统
例如,要让系统进入运行级别 3(完全多用户模式,命令行界面):
sudo init 3要让系统关机(进入运行级别 0):
sudo init 0要重启系统(进入运行级别 6):
sudo init 63. 使用 systemd 等效命令
- 现代的 Linux 发行版使用 systemd,并将传统的 init 运行级别概念替换为 “目标”(target)的概念。
runlevel 3(多用户模式)等效于 multi-user.target。 runlevel 5(图形界面)等效于 graphical.target。 使用 systemd 的 systemctl 命令来管理运行级别:
# 切换到多用户模式(命令行模式)
sudo systemctl isolate multi-user.target
# 切换到图形界面模式
sudo systemctl isolate graphical.target
# 重启系统
sudo systemctl reboot
# 关机
sudo systemctl poweroff4. 查看当前运行级别
在 init 系统中可以使用 runlevel 命令查看当前的运行级别:
runlevel在 systemd 系统中,可以使用以下命令查看当前的 target:
systemctl get-default