Linux中的启动和停止的命令与Windows不同,虽然Linux桌面环境中也有按钮可以进行关机和开机。
1.系统重启和关机目标
系统的重新启动和停止也是目标。目标就是通过系统设置和服务管理进行分组定义的,比如桌面环境、启动网络等。以下是停止和重新启动的目标。
目标 | 说明 | 运行级别 |
halt.target | 停止运行 | - |
powerofff.target | 关闭电源 | 0 |
reboot.target | 重新起动 | 6 |
你看到上面有系统关闭和重启目标有三个。你可以使用命令更改目标,重新启动和关闭系统等。利用systemctl命令.
操作 | 指定目标 | 指定子命令 | 兼容命令 |
停止运行 | systemctl isolate halt.target | systemctl halt | halt |
关闭电源 | systemctl isolate poweroff.target | systemctl poweroff | poweroff 和init0 |
重新启动 | systemctl isolate reboot.targte | Systemctl reboot | reboot init6 |
我们可以使用systemctl命令单独指定目标,或者使用systemctl命令的子命令操作系统。
2. 系统通过命令重启和关闭系统的原理
systemctl命令就是通过D-BUS向systemd程序发送halt、poweroff和·reboot这些命令的消息的。systemd接收到消息之后会并行地对每个单元执行关闭操作。
还有Sys V init提供的管理停止重新启动的命令,比如init命令,也可以在systemd环境中以相同的方式使用。init命令是到systemd的符号连接,意思就是这个链接可以不通过D-Bus而是直接执行systemd守护进程。使用init0表示关闭电源,指定6表示重启系统。除了init命令以外,Sys V init还有一些兼容性运行级别的管理命令.
命令 | 说明 |
shutdown | 可以关机和重启系统 |
telinit | 更改运行级别 |
halt | 停止系统 |
poweroff | 关闭系统 |
rreboot | 重新启动系统 |
runlevel | 显示上一个和当前的运行级别 |