Linux大多用在服务器领域,所以很少关机,除非特殊情况下,才不得已关机。

linux下的程序(或者称为服务),都是在背景下执行的。因此,在背后可能有很多人同时在主机工作,这个时候突然关机,会导致其它人的数据中断;除此之外,若不正常关机,则可能造成文件系统的损坏。

关机之前的常用指令

查看系统当前有哪些用户:

who

查看当前的网络状态:

netstat -a

查看后台下有哪些程序在执行:

ps -aux

将数据从内存同步到硬盘(这一步十分重要,最好在关机之前执行一下此命令):

sync
关机与重启指令

shutdown命令

shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。需要特别说明的是该命令只能由超级用户使用。 

该命令的一般格式: shutdown [选项] [时间] [警告信息] 

命令中各选项的含义为: 

       - k 并不真正关机而只是发出警告信息给所有用户 

       - r 关机后立即重新启动 

       - h 关机后不重新启动 

       - f 快速关机重启动时跳过fsck 

       - n 快速关机不经过init 程序 

       - c 取消一个已经运行的shutdown 

shutdown -h now 关闭系统
shutdown -h hours:minutes按预定时间关闭系统,若超过今天的时间戳,则隔天才会关机
shutdown -c 取消按预定时间关闭系统
shutdown -h +minutes 多少分钟以后自动关机
shutdown -r +30 ‘The system will reboot’再过30分钟系统会重启,并显示后面的信息给用户
shutdown -k now ‘this system will reboot’仅发出警告信件参数,系统并不会关机

halt命令

halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。 

单独使用halt指令只是停止系统运行,但不关闭电源,还需要手动关闭电源。

linux下关机与重启操作_linux

若要关闭电源需要使用:

halt -p  

reboot命令

reboot的工作过程与halt类似,其作用是重新启动,reboot命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。所以使用reboot命令的场合主要是在单用户模式。

init进程

init用于切换系统的运行级别,切换的工作是立即完成的。

init 0命令用于立即将系统运行级别切换为0,即关机;

init 6命令用于将系统运行级别切换为6,即重新启动。 

poweroff

停止系统运行,同时关闭电源。