本文共 1581 字,大约阅读时间需要 5 分钟。
Linux关闭和重启的命令
Linux 关闭和重启的命令 Edit By mrajian
Linux 关闭和重启的命令
概要:Linux 中常用的关机和重启命令有 shutdown、init 、halt 、reboot 、
poweroff 和telinit ,它们都可以达到关机和重新启动的目的,但是每个命令的内
部工作过程是不同的,下面将逐一进行介绍。
本文以CentOS5.4 Linux 为测试操作系统,所有示例均来自测试系统。文中
所述内容适用于Redhat Linux ,但并不适用于所有版本的Linux 。
1. 各个命令之间的关系
shutdown、init、halt 、reboot 、poweroff 和telinit 命令都存在于/sbin 目录下,
我们使用“ls -l ”命令查看一下各个命令之间的关系。如图1。
图 1 各个命令之间的关系
从图 1 中我们可以知道,各个命令之间并不都是相互独立的,poweroff 和
reboot 是halt 的符号链接,telinit 是init 的符号链接。
2. shutdown 命令
语法:shutdown [-krhfnc] [-t secs] time [warning message]
只有 root 用户才有权限执行此命令,因为用户执行 shutdown 命令时,
shutdown 会调用getuid 判断是否为root 用户,如果为普通用户,则会退出。
有些用户会使用直接断掉电源的方式来关闭Linux ,这是十分危险的。因为
Linux 与Windows 不同,其后台运行着许多进程,所以强制关闭机器可能会导致
进程的数据丢失,使系统处于不稳定的状态,甚至会损坏硬件设备。
shutdown 命令用于安全关闭Linux 系统,它在系统关闭之前给系统上的所有
登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个
精确的时间,也可以是从现在开始的一个时间段。
1
Linux 关闭和重启的命令 Edit By mrajian
从语法中,我们可以看到time 选项不可以省略。time 选项用于设置多久时
间后执行shutdown 命令。time 选项的值有hh:mm 或+m 两种模式。hh:mm 格式
表示在几点几分执行shutdown 命令。例如“shutdown 10:45 ”表示将在10:45 执
行shutdown 。+m 表示m 分钟后执行shutdown 。比较特别的用法是以now 表示
立即执行shutdown,即命令“shutdown now”表示立即执行shutdown 。
这里有一点需要我们注意:运行“shutdown time ”命令而不加任何参数的话,
并不会使系统真正的关机,而是使系统进入到了单用户操作模式(即运行级1)
下了。
shutdown 命令的工作实质是给init 进程发送信号(signal ),要求它切换系统
的运行级(runlevel )。系统的运行级包括:
# 0 :关闭系统
# 1 :单用户模式,如果没有为shutdown 命令指定-h 或-r 参数而直接执行,
则默认将切换到此运行级别
# 2 :多用户模式(不支持NFS )
# 3 :多用户模式(支持NFS ),一般常用此种运行级别
# 5 :多用户模式(GUI 模式)
# 6 :重新启动系统
shutdown 命令各个参数[-krhfnc] [-t secs]的功能如下:
-c 取消前一个shutdown 命令。值得注意的是:当我们执行如“shutdown
-h +10 ”命令时,只要按“Ctrl+C ”键就可以中断关机的命令。若是
执行如命令“shutdown -h +10 & ”将 shutdown 操作转到后台时,则
需要使
转载地址:http://itzfk.baihongyu.com/