shutdown命令安全地将系统关机,linux与windows不同,其后台运行着许多进程,强制关机可能会导致进程的数据丢失,系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭(并且login指令会被冻结,即新的用户不能再登录)。
使用shutdown命令,所有进程〔process〕都会收到系统所送达的信号〔signal〕,shutdown执行它的工作是送信号〔signal〕给init程序,要求它改变runlevel。Runlevel
0被用来停机〔halt〕,runlevel 6是用来重新激活〔reboot〕系统,而runlevel
1则是被用来让系统进入管理工作可以进行的状态。想要更加详细的了解〔halt〕或重新开机〔reboot〕过程中做了哪些动作,可以参考/etc/inittab中的runlevels。
shutdown语法及参数:
shutdown(选项)(参数)
[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机;
[-r] 重启计算器;
[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕;
[-h] 关机后关闭电源〔halt〕;
[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的;
[-c] cancel current
process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者;
[-f] 在重启计算器〔reboot〕时忽略fsck;
[-F] 在重启计算器〔reboot〕时强迫fsck;
[-time] 设定关机〔shutdown〕前的时间。