FreeBSD 关闭系统命令 shutdown 的使用
在关闭电源之前,保证正确关闭 FreeBSD(或其他unix)系统是非常重要的,直接关闭电源相当于 Windows 系统的非法关机,因为在关闭电源时有些重要的程序正在运行,可能使程序受到损坏,在下次重新启动的时候,无法运行而带来不必要的麻烦,虽然说 FreeBSD 系统有一个比 Windows 系统要强壮的心,但还是不推荐这种破坏性关机行为。
一、FreeBSD 关闭系统命令 shutdown
shutdown [action] [when] [broadcast message]
- action:告诉shutdown需要做什么,如关机、重启、关闭电源、逐出系统等相关操作。
- when:告诉shutdown什么时候开始执行这个命令。
- broadcast message:告诉shutdown把信息发送到所有已登录的用户。
action 参数说明:
- 无 把所有人逐出系统,并把系统置入无网络支持的单用户模式。
- -h 终止系统。
- -p 如果系统支持自动关闭电源,而且内核被配置为支持电源管理的话,-p参数为终止系统并关闭电源。
- -r 重新启动unix系统。
- -k 把所有人逐出系统,并禁用所有登录(root用户除外)。但系统仍然保留多用户模式,并有网络支持。
- -o 在没有向init发出信号的情形下,关闭系统。这样做并不好,因为它会阻止与关闭脚本相关的程序运行。
- -n 如果在指定该选项的同时,还指定了-o选项,就会阻止文件系统缓冲在关闭系统之前被刷新。这样做绝不是个好方法,因为可能会导致数据文件丢失。
when 参数说明:
- now 告诉shutdown立即执行。 例如:立即重新启动,执行 $ shutdown -r now
- +n n必须为数字,n告诉shutdown命令在多久之后执行。例如:系统将于10分钟后重新启动,$ shutdown -r +10
- YYmmddHHMM 以年月日时分的方式告诉FreeBSD系统什么时候开始执行。例如:系统将于2013年10月11日15时18分执行重新启动,$ shutdown -r 1310111518
groadcast message(广播消息) 将定期向所有登录用户广播。这些消息在关闭系统之前的10小时开始广播,并随关闭时间的来临而变得越来越频繁(相当于倒计时)。
二、终止和重启相关命令
除了 shutdown 带参数这种关机外,还有 halt 和 reboot 命令分别用于终止和重新启动系统,但是建议大家不要依赖于这两个。因为两个都不运行 rc.shutdown 脚本,可能会导致某些程序意外终止而导发一些不必要的麻烦。而且这两个命令不允许指定延迟关闭系统,也不会向用户发出即将关闭系统的警告。如果作为系统管理员应该养成使用 shutdown 命令的方式来关闭系统的好习惯。