Linux如何重启?linux重启命令是什么?在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,本文分享5个linux的重启命令,并详解这5个命令的区别。
Linux重启命令:
1、shutdown
2、halt
3、reboot
4、init
5、poweroff
先领券:点我免费领取阿里云幸运优惠券(适用于阿里云服务器ECS/RDS云数据库等云计算产品)
shutdown命令安全地将系统关机,linux与windows不同,其后台运行着许多进程,强制关机可能会导致进程的数据丢失,系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭(并且login指令会被冻结,即新的用户不能再登录)。
使用shutdown命令,所有进程〔process〕都会收到系统所送达的信号〔signal〕,shutdown执行它的工作是送信号〔signal〕给init程序,要求它改变runlevel。Runlevel 0被用来停机〔halt〕,runlevel 6是用来重新激活〔reboot〕系统,而runlevel 1则是被用来让系统进入管理工作可以进行的状态。想要更加详细的了解〔halt〕或重新开机〔reboot〕过程中做了哪些动作,可以参考/etc/inittab中的runlevels。
shutdown(选项)(参数)
[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机;
[-r] 重启计算器;
[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕;
[-h] 关机后关闭电源〔halt〕;
[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的;
[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者;
[-f] 在重启计算器〔reboot〕时忽略fsck;
[-F] 在重启计算器〔reboot〕时强迫fsck;
[-time] 设定关机〔shutdown〕前的时间。
其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。
halt(选项)
-d:不要在wtmp中记录;
-f:不论目前的runlevel为何,不调用shutdown即强制关闭系统;
-i:在halt之前,关闭全部的网络界面;
-n:halt前,不用先执行sync;
-p:halt之后,执行poweroff;
-w:仅在wtmp中记录,而不实际结束系统。
reboot的工作过程差不多跟halt一样,不过它是引发主机重启,而halt是关机。reboot的参数与halt相差不多。
reboot(选项)
-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;
-f:强制重新开机,不调用shutdown指令的功能;
-i:在重开机之前,先关闭所有网络界面;
-n:重开机之前不检查是否有未结束的程序;
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
init命令是Linux下的进程初始化工具,init进程是所有Linux进程的父进程,它的进程号为1。所以发送TERM信号给init会终止所有的用户进程、守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机,init 1为重启。telinit命令可以改变init的运行级别,比如:telinit -iS可使系统进入单用户模式,并且得不到使用shutdown时的信息和等待时间。
init(选项)(参数)
-b:不执行相关脚本而直接进入单用户模式;
-s:切换到单用户模式。
poweroff在关闭计算机操作系统之后,最后还会发送ACPI指令,通知电源,最后切断电源供应。
注:路由器等嵌入系统不支持ACPI的,这个命令就无效了。
poweroff(选项)
-n:关闭操作系统时不执行sync操作;
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关闭操作系统;
-i:关闭操作系统之前关闭所有的网络接口;
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。
发表回复