Unix平台下的常用命令技巧之四 关机与重启
李守亮 slli@founder.com.cn
LastVersion:2003-03-04
简述
在配置系统内核、存在硬件问题、系统处于无法返回的挂起状态、系统性能严重不足、停电
Unix平台下的常用命令技巧之四 关机与重启 李守亮 slli@founder.com.cn LastVersion:2003-03-04 简述 在配置系统内核、存在硬件问题、系统处于无法返回的挂起状态、系统性能严重不足、停电、服务器搬移等情况下,需要对服务器关机掉电或重新启动。在安装一些系统级补丁时需要引导到单用户模式。 Unix启动时,由init根据运行级来启动后面的任务,包括多用户环境,网络等。运行级是操作系统当前正在运行的功能级别。每个级别具有不同的功能。这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是那些放在/etc/rc#.d 目录下的文件。 目录 一、运行控制目录 二、init 的运行级定义 三、几种相关命令介绍 1、shutdown 命令 2、halt命令 3、poweroff命令 4、reboot 命令 四、推荐几种安全的关机方法 内容 一、运行控制目录 /etc/rc0.d 用于停止系统的脚本 /etc/rc1.d 用于单用户或维护模式的脚本 /etc/rc2.d 进入多用户模式的脚本 /etc/rc3.d 启动远程文件共享多用户模式的脚本 /etc/rc4.d 进入厂商提供的系统维护模式脚本 /etc/rc5.d 系统没用,可以有用户定义 /etc/rc6.d 重新引导系统脚本 运行控制脚本的主要功能是执行用于违背选运行级启动服务的脚本。例如,系统引导时,管理进程读取/etc/inittab文件,该文件告诉系统当前默认的运行级别是3,进程顺序执行/et/rc0、/etc/rc1、/etc/rc2,然后执行完/etc/rc3后结束。如果使系统重新引导到运行级2,则顺序执行/etc/rc6、/etc/rc0、/etc/rc1,执行/etc/rc2后结束。 /etc/inittab中的缺省运行级别可以改变,如果改变后可以使用init Q使管理进程立即重新检查处理/etc/inittab文件。但千万不要把缺省级别设为1、5和6。 二、init 的运行级定义 0 关闭操作系统,以便切断电源 1 单用户维护状态 2 正常操作的多用户状态,除NFS server和syslog之外的所有管理进程(daemon)都运行 3 正常操作的多用户状态,系统启动缺省进入此状态 4 多用户状态(现在已经不用) 5 关闭操作系统,以便切断电源,如果系统支持,可以自动切断电源 6 关闭操作系统,重新启动 s或S 单用户状态(有些系统是启动状态) # init 0 系统启动rc0脚本杀掉运行的进程,关闭操作系统到ok状态,此时需要手工干预,是断电关机还是执行boot 重新引导。 # init 1 系统杀掉运行进程后启动到单用户模式。需要手工干预 ctrl+d进入3正常启动模式,或输入root口令进入维护模式,执行完操作后使用ctrl+d切换到多用户模式 # init 5 系统杀掉运行进程后,关闭操作系统,如果系统支持,自动断电。 # init 6 运行脚本杀掉进程,重新启动 三、几种相关命令介绍 1、shutdown 命令 所有Unix操作系统都有此命令,它可以使系统shutdown, poweroff或reboot。此命令是比较好的关闭操作系统的命令。只有超级用户才有运行权限。运行此命令一般在控制台终端。因为远程执行此命令时,关机消息部显示在远程机器上,控制台终端可以接收关机过程中的所有错误信息,并显示真正处于关闭状态。不得不在远程关机时,使用init 5较好。 Shutdown有以下优点: 1) 命令可以指定时间参数向使用中的用户发消息,提示在参数时间内安全退出; 2) 然后运行0级kill掉任何留下来的进程; 3) 确认挂起时是否对文件系统的更新已经写入,运行sync命令刷新所有验留内存的磁盘块,然后卸载文件系统 4) 最后调用halt命令进入shutdown模式 示例: #shutdown –y –g300 –i0 系统提示所有用户300秒后关机,之后运行0运行级进入到ok状态,手工干预是否断电或boot。如果不希望等可使用shutdown –y g0 –i0或shuhtdown –i0 now #shutdown –y –g0 –i5 如果希望立即关闭操作系统并断电执行shutdown –y –g0 –i5,因为-i0还需要手工断电。 另外,在AIX上,从任何运行级别运行shutdown命令,系统自动下电,同时要求手工操作主机上的电源开关或reset键 # shutdown 或shutdown +1 –h 或shutdown -g0 -y 重新引导到level: S,使用ctrl+d选择(0~6)运行级别,缺省为3 运行级5通常在操作系统停止后,将计算机下电。 2、halt命令 halt命令只完成关机进程的一部分职能unix系统命令,他不通报正在登陆的用户,不执行kill操作,而立即进行shutdown,如果使用#halt –q 会立即停止系统,没有同步,没有杀死进程或写入日志,非常危险。 3、poweroff 命令 Poweroff命令不通报正在登陆的用户,不执行kill脚本操作,立即进行shutdown并掉电。如果安全的使用此命令,应和同步命令sync联合使用。刷新所有验留内存的磁盘块,然后下电。 示例: #sync;sync;poweroff 4、reboot命令 reboot命令立即执行shutdown并使系统重新引导为 level 3模式,与 init 6的区别是不运行rc0 kill脚本,不通报logged用户。安全使用应与同步命令一起使用。 示例: #sync;sync;reboot 四、推荐几种安全的关机方法 1、 在控制台终端使用,立即关闭操作系统并断电 #shutdown –y –i5 –g0 其中-g0的参数可根据是否提示在线用户退出给定,单位为秒,等效的命令为: #shutdown –y –i5 now 使用shutdown的好处参见上文。 2、 在控制台终端使用,立即关闭操作系统,手工断电或boot #shutdown –y –i0 –g0 如果有时shudown无法结束,需要运行 #init 0 3、远程关机,关闭操作系统并断电 不得不远程关机时,也可以使用init 5,示例 # init 5 据说有时init 5会导致机器挂起,所以在不得不远程关机时,可以选择使用。 4、#sync;sync;poeroff 确认一些重要服务已经停止,如oracle、weblogic等,刷新所有验留内存后(两次执行同步命令sync),进行断电。此命令关机比较快,同步后执行,也比较安全。可以选择使用。 5、AIX系统使用shutdown命令,手工断电 6、重启动 配置内核后或其他需要重启动服务器的时候,推荐使用下面命令: # init 6 或 # sync;sync;reboot 总之,sun系统比较推荐的关机命令为#shutdown –y –i5 –g0 李守亮 slli@founder.com.cn 2003-03-04 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |