在 Linux 命令中 reboot 是重新启动, shutdown -r now 是立即停止然后重新启动, 都说他们两个是一样的, 其实是有一定的区别的.
shutdown 命令可以安全地关闭或重启 Linux 系统, 它在系统关闭之前给系统上的所有登录用户提示一条警告信息. 该命令还允许用户指定一个时间参数, 可以是一个精确的时间, 也可以是从现在开始的一个时间段.
精确时间的格式是 hh:mm, 表示小时和分钟, 时间段由 + 和分钟数表示. 系统执行该命令后会自动进行数据同步的工作.
该命令的一般格式: shutdown [选项] [时间] [警告信息]
命令中各选项的含义为:
- k 并不真正关机而只是发出警告信息给所有用户
- r 关机后立即重新启动
- h 关机后不重新启动
- f 快速关机重启动时跳过 fsck
- n 快速关机不经过 init 程序
- c 取消一个已经运行的 shutdown
需要特别说明的是该命令只能由超级用户使用.
例 1, 系统在十分钟后关机并且马上重新启动: # shutdown -r +10
例 2, 系统马上关机并且不重新启动:# shutdown -h now
halt 是最简单的关机命令, 其实际上是调用 shutdown -h 命令. halt 执行时, 杀死应用进程, 文件系统写操作完成后就会停止内核.
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
关机命令:
1,halt 立刻关机
2,poweroff 立刻关机
3,shutdown -h now 立刻关机 (root 用户使用)
4,shutdown -h 10 10 分钟后自动关机
来源: http://www.bubuko.com/infodetail-3377230.html