Linuxreboot流程简单剖析——张水平2016-10-31第一部份、linux死机与启动大致流程㈠、Linux死机过程在linux领域内大多用在服务器上,极少遇见死机的操作。虽然服务器上跑一个服务是永无止境的linux下载工具,除非特殊情况下,不得已就会死机。在linux下的死机和重启可能由两种行为引起,一是通过用户编程,一是系统自己形成的消息。用户和系统进行交互的方法也有两个linux reboot,一个是系统调用:sys_rebootlinux reboot,另一个就是apm或者acpi的设备文件,通过对其操作也可以使系统死机或则重启。Linux死机命令解读在Linux下一些常用的死机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每位命令的内部工作过程是不同的。1.shutdownshutdown命令安全地将系统死机。有些用户会使用直接断开电源的方法来关掉linux,这是非常危险的。由于linux与windows不同,其后台运行着许多进程linux操作系统安装,所以强制死机可能会导致进程的数据遗失﹐使系统处于不稳定的状态﹐甚至在有的系统中会毁坏硬件设备。
而在系统死机前使用shutdown命令﹐系统管理员会通知所有登陆的用户系统即将关掉。而且login指令会被冻结﹐即新的用户不能再登入。直接死机或则延后一定的时间才死机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的讯号〔signal〕决定的。这让像vi之类的程序有时间存储目前正在编辑的文档﹐而像处理电邮〔mail〕和新闻〔news〕的程序则可以正常地离开等等。shutdown执行它的工作是送讯号〔signal〕给init程序﹐要求它改变runlevel。Runlevel0被拿来停机〔halt〕﹐runlevel6是拿来重新激活〔reboot〕系统﹐而runlevel1则是被拿来让系统步入管理工作可以进行的状态﹔这是预设的﹐假设没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了什么动作﹐你可以在这个文件/etc/inittab里看见那些runlevels相关的资料。shutdown参数说明:[-t]在改变到其它runlevel之前﹐告诉init多久之后死机。[-r]重启估算器。[-k]并不真正死机﹐只是送警告讯号给每个登陆者〔login〕。[-h]死机后关掉电源〔halt〕。[-n]不用init﹐而是自己来死机。不鼓励使用这个选项﹐并且该选项所形成的后果常常不总是你所预期得到的。