6、关闭和重启Linux系统
本节主要学习在Linux系统下常用的关闭/重启系统的命令有shutdown、halt、reboot、poweoff和init等。
6.1 shutdown用来进行关机程序并且在关机以前传送讯息给所有使用者正在执行的程序shutdown 也可以用来重开机。
使用权限系统管理者。
shutdown命令可以安全地关闭或重启Linux系统有些用户会使用直接断掉电源的方式来关闭计算机这是十分危险的。Linux系统与Windows系统不同其后台运行着许多进程所以强制关机可能导致进程的数据丢失使系统处于不稳定的状态在有的系统中甚至会损坏硬件设备。
在系统关机前使用shutdown命令系统管理员会通知一条警告信息给所有登陆的用户告诉他们系统将要关闭并且login进程会被冻结即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的还可能重启。
shutdown命令还允许用户指定一个时间参数该参数可以是一个精确的时间也可以是从现在开始的一个时间段。精确时间的格式hh:mm标示小时和分钟时间段由“+”和分钟数表示。系统执行该命令后会自动进行数据同步的工作。
6.1.1 命令语法
shutdown[选项][时间][警告信息]
shutdown [-t seconds] [-rkhncfF] time [message]
6.1.2 选项参数
shutdown命令选项参数含义
选项
选项含义
-t seconds
设定在几秒钟之后进行关机程序
-k
并不会真的关机只是将警告讯息传送给所有只用者
-r
关机后重新开机
-h
关机后停机
-n
不采用正常程序来关机用强迫的方式杀掉所有执行中的程序后自行关机
-c
取消目前已经进行中的关机动作
-f
关机时不做 fcsk 动作(检查 Linux 档系统)
-F
关机时强迫进行 fsck 动作
time
设定关机的时间
message
传送给所有使用者的警告讯息
6.1.3实例
实例
例1立即关机
# shutdown -h now
例2指定5分钟后关机
# shutdown +5 “System will shutdown after 5 minutes” //5分钟够关机并显示警告信息
6.2 halt若系统的 runlevel 为 0 或 6 则Linux halt命令关闭系统否则以 shutdown 指令加上 -h 参数来取代。
使用权限系统管理者。
使用halt命令就是diao调用“shutdown -h”命令执行关机任务。
6.2.1 命令语法
halt[选项]
6.2.2选项参数
halt命令选项含义
选项
选项含义
-w
并不是真正的关闭系统只是写入到/var/log/wtmp文件中
-n
关闭系统前不同步
-d
关闭系统不把记录写到/var/log/wtmp日志文件中
-f
没有调用shutdown而强制关闭系统
-i
关机系统前关掉所有的网络接口
6.2.3实例
例1关闭系统
# halt
例2关闭系统并关闭电源
# halt -p
例3关闭系统但不留下纪录
# halt -d
6.3 reboot用于用来重新启动计算机
reboot的工作过程与halt相似不过reboot是引发计算机重启而halt是引发计算机关闭。它的选项与halt相似。
6.3.1 命令语法
reboot[选项]
6.3.2 选项参数
reboot命令选项含义
选项
选项含义
-w
并不是真正的重启系统只是写入到/var/log/wtmp文件中
-d
重启系统不把记录写到/var/log/wtmp日志文件中
-i
重启计算机前关闭网络
-f
没有调用shutdown而强制重新启动系统
-n
重新启动系统前不同步
6.3.3实例
重新启动
# reboot
6.4 poweoff立刻关机切断系统电源
poweroff就是halt的软链接而已。执行的还是halt命令。关于halt 命令可以这样理解halt就是调用shutdown -h。halt执行时杀死应用进程执行sync系统调用文件系统写操作完成后就会停止内核。
6.5 initinit是所有进程的祖先他是Linux系统操作中不可缺少的程序之一。它的进程号始终为1所以发送TERM信号给init会终止所有的用户进程守护进程等。
shutdown 就是使用这种机制。init定义了7个运行级别(runlevel)init 0为关机init 6为重启。
6.5.1实例
例1关闭计算机系统
[root@localhost~]#init0
//切换到运行级别0就相当于关闭系统
例2重新启动计算机系统
[root@localhost~]#init6
//切换到运行级别6就相当于重新启动系统