Linux的reboot命令用于重新启动系统。当执行reboot命令时,系统会停止所有正在运行的进程并关闭系统内核。然后它会将计算机重新启动,并让您进入引导程序和操作系统。这个命令可以在系统崩溃或需要重新启动时使用,它会清空所有的内存和缓冲区,使您的系统重新恢复到初始状态。
命令名称
reboot
命令功能
用于重启系统
命令全称
reboot
命令语法
reboot [-n] [-w] [-d] [-f] [-i]
reboot [-n] [-w] [-d] [-f] [-i] #[English]
命令参数
-d #记录调试信息
-f #立即重启系统,请求确认
-i #忽略 init 策略,直接重启系统
-k #向系统发出重启信号,不会真正重启系统
-n #重启系统时不执行 sync 操作
-r #等同于 -f 参数,立即重启系统,请求确认
-w #不真正重启系统,只是向 /var/run/utmp 文件中写入系统运行级别及系统关机时间等信息
命令原理
Linux reboot 命令的作用是重启系统,其原理是向内核发送一个重启信号,在收到信号后,内核会执行一系列的关闭操作,包括卸载文件系统、关闭进程、释放内存等,终触发计算机硬件的重启操作。在重启过程中,操作系统会重新加载内核和其他的组件,从而完成系统的重启。
用法举例
#重启系统,需要管理员权限
sudo reboot
#立即重启系统,需要管理员权限
sudo reboot now
#立即关闭系统,需要管理员权限
sudo reboot -h now
#立即重启系统,需要管理员权限
sudo shutdown -r now
#立即关闭系统,需要管理员权限
sudo shutdown -h now
#在10分钟后重启系统,需要管理员权限
sudo shutdown -r 10
#在15分钟后关闭系统,需要管理员权限
sudo shutdown -h +15
#取消先前安排的关机或重启任务,需要管理员权限
sudo shutdown -c
#强制重启系统,不会执行正常的系统关机流程,需要管理员权限
sudo reboot --force
#查看 reboot 命令的帮助文档,不需要管理员权限
sudo reboot --help
执行权限
需要root权限
系统路径
/usr/bin/reboot
注意事项
执行该命令会直接重启系统,请已经保存好所有需要保存的程序和数据。
系统自带
是
常用命令
是
命令分类
系统管理命令
参数详解
-d
延迟时间。指定时间后重启系统。
#延迟5秒后重启系统。
reboot -d 5
#向内核发送一个重启消息,但不会真正重启
sudo reboot -d
--reboot
重启系统。
#立即重启系统。
reboot --reboot
-f
强制重启。忽略所有未保存的数据和进程。
#强制重启系统。
reboot -f
#该命令可以强制重启系统,一般情况下在有问题需要强制重启时使用。
sudo reboot -f
-n
不同步。不执行sync命令,直接重启系统。
#不执行sync命令直接重启系统。
reboot -n
#立即重启,init不会收到shutdown信号
sudo reboot -n
-h
关机。不重启系统,直接关机。
#直接关机,不重启系统。
reboot -h
-f,now
强制重启,立即执行
#该命令可以强制重启系统,并立即执行,不会等待。
sudo reboot -f now
-f,-t 10
强制重启,10秒
#该命令可以强制重启系统,并10秒后执行。
sudo reboot -f -t 10
-f,-d 5
强制重启,延迟5秒
#该命令可以强制重启系统,并延迟5秒后执行。
sudo reboot -f -d 5
-f,-h
强制重启,同时将电脑关机
#该命令可以强制重启系统,并同时将电脑关机。
sudo reboot -f -h
-h, --halt
关闭系统并停止CPU
#该命令用于重新启动系统,并且使用-h或--halt参数可以关闭系统并停止CPU。
sudo reboot -h
#关闭操作系统,可用于安全关机或者重启前的准备工作。
sudo halt
-f, --force
强制重启系统
#该命令用于重新启动系统,并且使用-f或--force参数可以强制重启系统。
sudo reboot -f
-k, --kexec
使用kexec替换内核而不是重启系统
#该命令用于重新启动系统,使用-k或--kexec参数可以使用kexec替换内核而不是重启系统。
sudo reboot -k
-d, --debug
进入调试模式来重启系统
#该命令用于重新启动系统,使用-d或--debug参数可以进入调试模式来重启系统。
sudo reboot -d
-n, --no-wtmp
不将重启写入wtmp文件
#该命令用于重新启动系统,使用-n或--no-wtmp参数可以不将重启写入wtmp文件。
sudo reboot -n
-k
表示立即重启,不向进程发送kill信号
#立即重启,不会等到所有进程结束
sudo reboot -k
-w
表示向init发送shutdown信号,但不会重启
#向init发送shutdown信号,但不会重启
sudo reboot -w
-f 或 --force
强制重启系统,忽略所有运行中的进程。
#该命令用于强制重启系统,在重启过程中会忽略所有运行中的进程。
sudo reboot -r -f
-n 或 --no-wtmp
不将重启记录在 wtmp 文件中。
#该命令用于重启系统,但不将重启记录在 wtmp 文件中。
sudo reboot -r -n
-w 或 --wtmp-only
将重启记录在 wtmp 文件中。
#该命令用于重启系统,并将重启记录在 wtmp 文件中,但不执行真正的重启操作。
sudo reboot -r -w
-d 或 --debug
重启系统时输出 debug 信息。
#该命令用于重启系统并输出 debug 信息,供系统管理员进行调试。
sudo reboot -r -d
-n, --no-sync
不将缓存写回磁盘
#重启操作系统,但不会将缓存写回磁盘,可能会导致数据丢失
sudo reboot -n
-w, --wtmp-only
只记录重启信息,不进行实际重启操作
#记录系统重启信息,但不进行实际重启操作
sudo reboot -w
命令报错原因
* 权限不足;
* 系统正在执行其他任务;
* 缺少的系统文件;
* 系统存在硬件故障;
* 系统已经损坏或遭受攻击。