1)shutdown命令
我们较常使用的是shutdown这个命令,这个命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。需要特别说明的是该命令只能由超级用户使用。shutdown可以达成如下的工作:
- 可以自由选择关机模式:是要关机、重新启动或进入单人操作模式均可;
- 可以配置关机时间:可以配置成现在立刻关机, 也可以配置某一个特定的时间才关机。
- 可以自定义关机信息:在关机之前,可以将自己配置的信息传送给在线user 。
- 可以仅发出警告信息:有时有可能你要进行一些测试,而不想让其他的使用者干扰,或者是明白的告诉使用者某段时间要注意一下!这个时候可以使用 shutdown 来吓一吓使用者,但却不是真的要关机!
- 可以选择是否要fsck检查文件系统。
我们可以用man命令来查看其用法,用法如下:
[root@www ~]# /sbin/shutdown [-t 秒] [-arkhncfF] 时间 [警告信息]选项与参数:-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思-k : 不要真的关机,只是发送警告信息出去!-r : 在将系统的服务停掉之后就重新启动(常用)-h : 将系统的服务停掉后,立即关机。 (常用)-n : 不经过 init 程序,直接以 shutdown 的功能来关机-f : 关机并启动之后,强制略过 fsck 的磁盘检查-F : 系统重新启动之后,强制进行 fsck 的磁盘检查-c : 取消已经在进行的 shutdown 命令内容。时间 : 这是一定要加入的参数!指定系统关机的时间!时间的范例底下会说明。范例:[root@www ~]# /sbin/shutdown -h 10 'I will shutdown after 10 mins'[root@www ~]# shutdown -h now立刻关机,其中 now 相当于时间为 0 的状态[root@www ~]# shutdown -h 20:25系统在今天的 20:25 分会关机,若在21:25才下达此命令,则隔天才关机[root@www ~]# shutdown -h +10系统再过十分钟后自动关机[root@www ~]# shutdown -r now系统立刻重新启动[root@www ~]# shutdown -r +30 'The system will reboot' 再过三十分钟系统会重新启动,并显示后面的信息给所有在在线的使用者[root@www ~]# shutdown -k now 'This system will reboot' 仅发出警告信件的参数!系统并不会关机啦!吓唬人!
2)reboot,halt与poweroff
还有三个命令可以进行重新启动与关机的任务,那就是reboot, halt, poweroff。 其实这三个命令调用的函式库都差不多,所以当你使用『man reboot』时,会同时出现三个命令的用法给你看,如下图所示:
3)init 0
init所有进程的祖先,进程号永远为1,linux系统操作中不可缺少的程序之一,所有发送TERM信号给init会终止所有用户进程、守护进程等。init定义了8个运行级别,这里相关的主要是0关机,6重启。
几个命令的作用都是用来关机,但是又有细微区别:halt:halt被称为最简单的关机命令,它会通知硬件停止所有的CPU功能,执行时会杀死进程,执行sync系统调用文件系统写操作,完成后就会停止内核。
#halt -p相当于poweroff
#halt -f强制关机
#halt -i关机或重启前关闭所有网络接口poweroff:关机同时关闭电源,会发送一个ACPI信号通知系统关机,在多用户方式下(run level3)下不建议使用。
#poweroff -f 强制关机
shutdown:关机同时关闭电源,只有拥有root权限的用户才可以执行(普通用户需要root授权),发送信号给init,使之改变运行级别(run level)来实现关机,关机或重启实质上就是运行级别的调整,所以也可以直接使用# init 0来关机,#init 6来重启。shutdown可设置广播信息来通知已登录的用户将关机,且会创建/run/nologin文件,禁止新用户登录。也就给了一定时间给给进程进行保存操作,被视为安全的关机命令。加参数时为如下意义:
#shutdown -r ###重启
#shutdown -P相当于poweroff
#shutdown -H相当于hatl
#shutdown -k不关机但是发送警告给用户
#shutdown 加时间,如# shutdown now / # shutdown 22:22可以在指定时间关机,在关机前,也可以执行#shutdown -c取消关机。
但是此指令没有-f强制参数init:所有进程的祖先,进程号永远为1,linux系统操作中不可缺少的程序之一,所有发送TERM信号给init会终止所有用户进程、守护进程等。init定义了8个运行级别,这里相关的主要是0关机,6重启。
参考:
linux的集中关机命令(shutdown,halt,poweroff,init 0)blog.csdn.netLinux中poweroff、shutdown、init 0和halt的异同blog.csdn.net