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指令只是停止系统运行,但不关闭电源,还需要手动关闭电源。
若要关闭电源需要使用:
halt -p
reboot命令
reboot的工作过程与halt类似,其作用是重新启动,reboot命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。所以使用reboot命令的场合主要是在单用户模式。
init进程
init用于切换系统的运行级别,切换的工作是立即完成的。
init 0命令用于立即将系统运行级别切换为0,即关机;
init 6命令用于将系统运行级别切换为6,即重新启动。
poweroff
停止系统运行,同时关闭电源。