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 |
显示上一个和当前的运行级别 |