linux怎么正确关机_linux正确关机步骤

发布时间:2020-10-18编辑:脚本学堂
本文介绍了linux怎么正确关机的方法,linux下正确关机非常关键,因为linux是个真正的多用户环境,需要确保任何时候都能正确关机,感兴趣的朋友参考下。

linux正确关机步骤是什么,如何正确关闭linux主机。

第一步:查看当前登录的用户有哪些,如果有其他用户正在登录的话需要通知。

可以用命令who查看当前登录用户。
 

root@www.jb200.com:~# who  
root     pts/0        Jun 27 03:22 (210.13.218.86) 
 

第二步:查看当前网络联机状况和后台程序执行情况,作为关机的参照。

可以用netstat -a 查看网络联机,ps -aux查看后台程序运行情况。
 

www.jb200.com:~# netstat -a  
Active Internet connections (servers and established)  
Proto Recv-Q Send-Q Local Address           Foreign Address         State  
tcp        0      0 *:www                   *:*                     LISTEN  
tcp        0      0 www.jb200.com.serve:www 113.92.179.39:4003      SYN_RECV  
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN  
tcp        0      0 *:1020                  *:*                     LISTEN  
tcp        0      0 *:2021                  *:*                     LISTEN  
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN  
tcp        0      0 localhost.lo:submission *:*                     LISTEN  
tcp        0      0 www.jb200.com.serv:1020 210.13.218.86:59407     ESTABLISHED  
tcp        0    336 www.jb200.com.serv:1020 210.13.218.86:59498     ESTABLISHED  
tcp        0      0 www.jb200.com.serve:www 113.92.179.39:3998      ESTABLISHED  
tcp6       0      0 [::]:1020               [::]:*                  LISTEN  
udp        0      0 *:openvpn               *:*  
udp6       0      0 [::]:talk               [::]:*  
udp6       0      0 [::]:ntalk              [::]:*  
Active UNIX domain sockets (servers and established)  
Proto RefCnt Flags       Type       State         I-Node   Path  
unix  2      [ ACC ]     STREAM     LISTENING     108060083 /var/run/nscd/socket  
unix  2      [ ACC ]     STREAM     LISTENING     108060261 /var/run/sendmail/mta/smcontrol  
unix  2      [ ACC ]     STREAM     LISTENING     223628761 /var/run/mysqld/mysqld.sock  
unix  6      [ ]         DGRAM                    108059616 /dev/log  
unix  2      [ ]         DGRAM                    1587855193  
unix  2      [ ]         DGRAM                    223628759  
unix  2      [ ]         DGRAM                    108060212  
unix  2      [ ]         DGRAM                    108060063  
www.jb200.com:~# ps -aux  
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html  
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND  
root         1  0.0  0.0   1984   100 ?        Ss   Apr26   0:00 init [2]  
root      1386  0.0  0.0   1696   368 ?        Ss   Apr26   0:00 /sbin/syslogd  
root      1400  0.0  0.0   4176   340 ?        Ss   Apr26   0:00 /usr/sbin/openv  
root      1406  0.0  0.0   5276   336 ?        Ss   Apr26   0:00 /usr/sbin/sshd  
root      1530  0.0  0.1 108576   584 ?        Ssl  Apr26   0:05 /usr/sbin/nscd  
root      1544  0.0  0.0   3652   264 ?        S    Apr26   0:00 /usr/sbin/vsftp  
root      1552  0.0  0.0   2916    28 ?        Ss   Apr26   0:00 /usr/sbin/xinet  
root      1594  0.0  0.0   8848   480 ?        Ss   Apr26   0:02 sendmail: MTA:  
root      1620  0.0  0.0   2040   228 ?        Ss   Apr26   0:00 /usr/sbin/cron  
root      9426  0.0  1.9  28932 10000 ?        Ss   Jun19   0:00 /usr/sbin/apach  
root     11643  0.0  0.0   2480   512 ?        S    May03   0:00 /bin/sh /usr/bi  
mysql    11680  0.1 12.2 180380 64088 ?        Sl   May03  83:06 /usr/sbin/mysql  
root     11681  0.0  0.0   1632    40 ?        S    May03   0:00 logger -p daemo  
www-data 28266  0.0  1.8  29420  9756 ?        S    07:17   0:00 /usr/sbin/apach  
www-data 28268  0.0  1.9  29928 10116 ?        S    07:19   0:00 /usr/sbin/apach  
www-data 28293  0.0  1.7  29396  9404 ?        S    07:21   0:00 /usr/sbin/apach  
www-data 28296  0.0  1.8  29652  9628 ?        S    07:23   0:00 /usr/sbin/apach  
www-data 28299  0.0  1.3  29416  6820 ?        S    07:26   0:00 /usr/sbin/apach  
root     28303  0.0  0.5   8232  2648 ?        Ss   07:27   0:00 sshd: root@nott  
root     28305  0.0  0.2   5004  1316 ?        Ss   07:28   0:00 /usr/lib/openss  
root     28306  0.0  0.5   8444  2660 ?        Ss   07:28   0:00 sshd: root@pts/  
root     28308  0.0  0.2   2816  1428 pts/0    Ss   07:28   0:00 -bash  
root     28313  0.0  0.1   2300   788 pts/0    R+   07:28   0:00 ps -aux  
www.jb200.com:~#  

第三步:数据同步写入硬盘sync

sync是一个把当前内存中未来得及写入硬盘的数据写入硬盘。这是一个很好的命令,随时都可以执行。
不过root用户执行的效果是保存所有用户的数据到硬盘,而普通用户执行的效果是只保存自己的数据。

不过由于当前的主流linux系统均具有shutdown等关机命令前主动调用sync命令保存用户数据,所以sync可以省略的,不过为了系统安全,执行一下也不是什么坏事。

第四步:运行linux关机命令

关机的命令比较多,每个命令有自己不同的用法.

linux关机命令:shutdown

语  法:shutdown [-acefFhknr][-t 秒数][时间][警告信息]
参  数:
 -c  取消关机命令
 -f  重新启动时不执行fsck。
 -F  重新启动时执行fsck。
 -h  将系统关机。
 -k  只是送出信息给所有用户,但不会实际关机。
 -n  不调用init程序进行关机,而由shutdown自己进行。
 -r  shutdown之后重新启动。
 -t<秒数>  送出警告信息和删除信息之间要延迟多少秒。
 [时间]  设置多久时间后执行shutdown指令。
 [警告信息]  要传送给所有登入用户的信息。

例子:
 

shutdown -h now     //同shutdown -h 0,立即关机
shutdown -h 20:00   //在20:00关机,若在20:00以后执行命令则下一个24小时的20:00关机
shutdown -h +10     //10分钟后关机   可以用shutdown -c取消
shutdown -r now     //同shutdown -r 0,立即重启
shutdown -r +30 "The system will reboot after 30 minutes"   //30分钟厚重启并提示所有在线用户
shutdown -k now "The system will shutdown"   //仅仅发出提示而不关机

第二个关机命令:halt
halt跟shutdown的不同是halt不理会各项服务,直接执行硬件关机,而shutdown会逐项关闭服务,然后再执行halt。
所以halt是一个不安全的关机命令,可以忽略。

第三个关机命令:poweroff
非常多系统中poweroff就是halt的一个软链接,同样不是一个安全的关机命令。

第四个关机命令:init 0
init是设置用户运行级别的命令,因此init 0 会先关闭运行的服务,用户进程和守护进程,最终关机。

因此,此条命令是一个非常安全的关机命令。