Linux中关于关机和重启的命令

Linux中常用的关机和重新启动命令有shutdown、halt、reboot以及init,它们都可以达到关机和重新启动的目的,但是每个命令的内部工作过程是不同的,下面将逐一进行介绍。

一、shutdown

shutdown命令用于安全关闭Linux系统。有些用户会使用直接断掉电源的方式来关闭Linux,这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至会损坏硬件设备。 

执行shutdown命令时,系统会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录系统。使用shutdown命令可以直接关闭系统,也可以延迟指定的时间再关闭系统,还可以重新启动。延迟指定的时间再关闭系统,可以让用户有时间储存当前正在处理的文件和关闭已经打开的程序。 

shutdown命令的部分参数如下: 

[-t] 指定在多长时间之后关闭系统 

[-r] 重启系统
 
[-k] 并不真正关机,只是给每个登录用户发送警告信号 

[-h] 关闭系统(halt) 

shutdown命令的工作实质是给init程序发送信号(signal),要求其切换系统的运行级别(Runlevel)。系统的运行级别包括:

0:关闭系统 
1:单用户模式,如果没有为shutdown命令指定-h或-r参数而直接执行,则默认将切换到此运行级别 2:多用户模式(不支持NFS) 
3:多用户模式(支持NFS),一般常用此种运行级别
5:多用户模式(GUI模式) 
6:重新启动系统  

二、halt
halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。 
halt命令的部分参数如下: 
[-f] 没有调用shutdown而强制关机或重启 
[-i] 关机或重新启动之前,关掉所有的网络接口  
[-p] 关机时调用poweroff,此选项为缺省选项

三、reboot
reboot的工作过程与halt类似,其作用是重新启动,而halt是关机。其参数也与halt类似。

四、init
init是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立即完成的。init 0命令用于立即将系统运行级别切换为0,即关机;init 6命令用于将系统运行级别切换为6,即重新启动
本贴来自ZDNetChina中文社区 http://bbs.zdnet.com.cn ,本贴地址:http://bbs.zdnet.com.cn/viewthread.php?tid=94635

 

简述

在配置系统内核、存在硬件问题、系统处于无法返回的挂起状态、系统性能严重不足、停电、服务器搬移等情况下,需要对服务器关机掉电或重新启动。在安装一些系统级补丁时需要引导到单用户模式。

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 的运行级定义

          关闭操作系统,以便切断电源

          单用户维护状态

          正常操作的多用户状态,除NFS server和syslog之外的所有管理进程(daemon)都运行

          正常操作的多用户状态,系统启动缺省进入此状态

          多用户状态(现在已经不用)

          关闭操作系统,以便切断电源,如果系统支持,可以自动切断电源

          关闭操作系统,重新启动

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命令只完成关机进程的一部分职能,他不通报正在登陆的用户,不执行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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值