【Linux】 shutdown命令

  • 1、背景
  • 2、重启


1、背景

关机、重新启动是一个友好的过程,可以让程序有时间退出,保存文件,删除临时文件,更新文件系统日志等。
关机:暂停磁盘活动性,然后切断电源。
重启:暂停磁盘活动并向主板发送复位信号。
常用shutdown、reboot重启计算机,这两个命令是有区别的。

关于reboot与shutdown都能重启,那它们之间的区别是啥?
reboot命令重启动系统时是删除所有的进程,而不是平稳地终止它们。
因此,使用reboot命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。
在多用户模式下,执行reboot命令之前,必须确保所有的用户已经退出系统,否则很容易使文件系统受损,导致数据丢失,严重时会导致系统无法启动。
即:使用reboot命令的场合主要是在单用户模式。

shutdown命令(如果不带参数的),在停止系统运行之前,他将通过wall命令吧系统即将关闭的信息告诉已登录的所有用户,并且留给1分钟(默认时间,可以更改)时间来完成剩余工作,1分钟后,系统开始调用killall命令杀死人在系统中运行的进程,用sync命令将内存中的缓冲数据保存到硬盘上,再卸载已经安装的文件系统,最后是用halt命令停止系统。
即shutdown命令重启Linux系统是一个最安全最彻底的方法。

推荐使用shutdown重启、关闭计算机。

2、重启

关于shutdown

root@iZuf63978tmw06cpq8okr2Z:~# shutdown --help
shutdown [OPTIONS...] [TIME] [WALL...]

Shut down the system.

     --help      Show this help
  -H --halt      Halt the machine
  -P --poweroff  Power-off the machine
  -r --reboot    Reboot the machine
  -h             Equivalent to --poweroff, overridden by --halt
  -k             Don't halt/power-off/reboot, just send warnings
     --no-wall   Don't send wall message before halt/power-off/reboot
  -c             Cancel a pending shutdown
root@iZuf63978tmw06cpq8okr2Z:~#

shutdown可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。
shutdown还允许用户指定一个时间参数,可以是一个精确的时间参数(以分钟为单位),也可以是从现在开始的一个时间段,以便shutdown知道何时执行。
要立即重启,请附加-r标志:

sudo shutdown -r now

10分钟后自动关机

shutdown -h 10