六、关闭和重启Linux系统安全
本节主要学习在Linux系统下经常使用的关闭/重启系统的命令有shutdown、halt、reboot、poweoff和init等。网络
6.1 shutdown用来进行关机程序而且在关机之前传送讯息给全部使用者正在执行的程序shutdown 也能够用来重开机。ide
使用权限系统管理者。学习
shutdown命令能够安全地关闭或重启Linux系统有些用户会使用直接断掉电源的方式来关闭计算机这是十分危险的。Linux系统与Windows系统不一样其后台运行着许多进程因此强制关机可能致使进程的数据丢失使系统处于不稳定的状态在有的系统中甚至会损坏硬件设备。spa
在系统关机前使用shutdown命令系统管理员会通知一条警告信息给全部登录的用户告诉他们系统将要关闭而且login进程会被冻结即新的用户不能再登陆。直接关机或者延迟必定的时间才关机都是可能的还可能重启。日志
shutdown命令还容许用户指定一个时间参数该参数能够是一个精确的时间也能够是从如今开始的一个时间段。精确时间的格式hh:mm标示小时和分钟时间段由“+”和分钟数表示。系统执行该命令后会自动进行数据同步的工做。orm
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就至关于从新启动系统