Linux的几个关闭(重新启动)相关命令Linux下常用的关闭/重新启动命令包括关闭、故障、重新启动和重新启动。 它们实现了重新启动系统的目的,但每个命令的内部操作过程都不同。 本文希望能够更灵活地利用各种关闭命令。
1 .关闭
shutdown命令可安全关闭系统。 一些用户通过直接关闭电源关闭linux。 这非常危险。 linux与windows不同,在后台运行许多进程,因此强制关闭可能会导致进程数据丢失、系统不稳定,以及硬件设备损坏如果在关闭系统之前使用shutdown命令,系统管理员将通知所有登录的用户系统将关闭。 此外,login命令将被冻结,新用户将无法登录。 可以直接关闭电源,也可以延迟一定时间关闭电源,也可以重新启动。 这通过所有过程接收系统发来的信号来决定。 由此,vi等程序有时间保存当前正在编辑的文档,处理邮件〔mail〕和新闻〔news〕的程序可以正常离开等。
shutdown向init程序发送信号,执行请求更改运行级别的工作。
Runlevel 0用于停机[halt],runlevel6用于重新启动〔reboot〕系统,runlevel 1用于使系统处于可管理状态。 这是默认设置,假设-h和-r都在shutdown中没有参数。 要了解在停机(〔halt〕 )或重新启动(〔reboot〕 )期间发生了什么行为,可以在此文件/etc/inittab中查看有关这些运行级别的资料。
shutdown参数说明:
[-t]告诉init在更改为其他运行级别之前,要在多长时间后关闭。
[-r]重新启动计算机。
[-k]不实际关闭,只需向各登录者〔login〕发送警告信号即可。
[-h]切断电源后,切断电源〔halt〕。
[-n ]不使用Init,自己关机。 不建议使用此选项。 此外,此选项带来的结果往往不尽如人意。
[-c ]取消当前正在运行的关闭进程。 此选项当然没有时间参数,但您可以输入消息进行说明。 此信息将发送给所有用户。
[-f]重新启动计算机〔reboot〕时忽略fsck。
[-F]计算机〔reboot〕重新启动时强制fsck。
[-time]设定关闭〔shutdown〕前的时间。
2 .红心
其实halt就是调用shutdown -h。 如果运行了halt,则杀死应用进程,执行sync系统调用,并在文件系统写入完成后停止内核。
参数说明:
[-n ]防止同步系统调用。 在fsck中修复根分区之后,使用它来防止内核复盖在早期版本的超块中修复的超块。
[-w]只需写下wtmp〔/var/log/wtmp〕的记录,而不是真正的重新启动或关闭。
[-n]不写wtmp记录[包含在选择[-n]中]。
[-f ]强制关闭或重新启动,而不调用shut down。
[-i]关闭[或重新启动]之前,关闭所有网络接口。
[-p]此选项为默认选项。 就是关机时调用电源关闭。
3 .重新引导
reboot的工作过程与halt大致相同,但会导致主机重新启动,halt将关闭。 其参数与halt相同。
4.init
init是所有进程的祖先,进程号始终为1,因此向init发送TERM信号将终止所有用户进程、守护进程等。 shutdown使用此机制。 init定义了8个运行级,init 0关闭,init重新启动。 关于init会是长篇大论,这里不做论述。 telinit命令还可以改变init的执行级别。 例如,<﹐telinit -iS可以使系统处于单用户模式,无法获得使用shutdown时的信息和等待时间。