在 Linux 命令中 reboot 是重新启动,shutdown -r now 是立即停止然后重新启动,都说他们两个是一样的,其实是有一定的区别的。
shutdown 命令可以安全地关闭或重启 Linux 系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。
精确时间的格式是 hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。
该命令的一般格式: shutdown [选项] [时间] [警告信息]
1、命令中各选项的含义:
– k 并不真正关机而只是发出警告信息给所有用户
– r 关机后立即重新启动,shutdown -r now
– h 关机后不重新启动
– f 快速关机重启动时跳过 fsck
– n 快速关机不经过 init 程序
– c 取消一个已经运行的 shutdown
需要特别说明的是该命令只能由超级用户使用。
例1,系统在十分钟后关机并且马上重新启动: # shutdown –r +10
例2,系统马上关机并且不重新启动:# shutdown –h now
halt 是最简单的关机命令,其实际上是调用 shutdown -h 命令。halt 执行时,杀死应用进程,文件系统写操作完成后就会停止内核。
2、halt命令的部分参数含义:
[-f] 没有调用 shutdown 而强制关机或重启 [-i] 关机或重新启动之前,关掉所有的网络接口 [-p] 关机时调用 poweroff,此选项为缺省选项reboot 的工作过程与 halt 类似,其作用是重新启动,而 halt 是关机。其参数也与 halt 类似。reboot 命令重启动系统时是删除所有的进程,而不是平稳地终止它们。因此,使用 reboot 命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。所以使用 reboot 命令的场合主要是在单用户模式。
init 是所有进程的祖先,其进程号始终为 1。init 用于切换系统的运行级别,切换的工作是立即完成的。init 0 命令用于立即将系统运行级别切换为 0,即关机。init 6 命令用于将系统运行级别切换为 6,即重新启动。
系统重新启动总结:reboot,init 6,shutdown -r now
系统关机总结:init 0, shutdown -h now, half
3、关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机