linux上关机步骤与Windows上关机步骤略有不同,因为linux上是多任务多用户的环境,在不知道别人正在运行的程序和工作之前就关闭的话可能会造成比较验证的错误。
那么linux上标准的准确关机步骤是什么呢?
嗯,我归纳为几个步骤吧。
第一步:查看当前登录的用户有哪些,如果有其他用户正在登录的话需要通知
可以用命令who查看当前登录用户
- root@www.blogguy.cn:~# who
- root pts/0 Jun 27 03:22 (210.13.218.86)
第二步:稍微查看以下当前网络联机状况和后台程序执行情况,作为关机的参照,不过意义不是很大
可以用netstat -a 查看网络联机,ps -aux查看后台程序运行情况。
- www.blogguy.cn:~# 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.blogguy.cn.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.blogguy.cn.serv:1020 210.13.218.86:59407 ESTABLISHED
- tcp 0 336 www.blogguy.cn.serv:1020 210.13.218.86:59498 ESTABLISHED
- tcp 0 0 www.blogguy.cn.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.blogguy.cn:~# 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.blogguy.cn:~#
第三步:数据同步写入硬盘sync
sync是一个把当前内存中未来得及写入硬盘的数据写入硬盘。这是一个很好的命令,随时都可以执行,不过root用户执行的效果是保存所有用户的数据到硬盘,而普通用户执行的效果是只保存自己的数据。
不过由于当前的主流linux系统均具有shutdown等关机命令前主动调用sync命令保存用户数据,所以sync可以省略的,不过为了系统安全,执行一下也不是什么坏事。
第四步:运行关机命令
这个需要详细的说说了。关机的命令比较多,每个命令有自己不同的用法,不一一列举,这里只说用法,来源www.blogguy.cn。
关机命令一: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" //仅仅发出提示而不关机
转载请注明来源www.blogguy.cn
第二个关机命令:halt
halt跟shutdown的不同是halt不理会各项服务,直接执行硬件关机,而shutdown会逐项关闭服务,然后再执行halt!
所以halt是一个不安全的关机命令,可以忽略。
第三个关机命令:poweroff
非常多系统中poweroff就是halt的一个软链接,就不用多解释了吧,同样不是一个安全的关机命令。
第四个关机命令:init 0
init是设置用户运行级别的命令,因此init 0 会先关闭运行的服务,用户进程和守护进程,最终关机。所以这个命令是非常安全的关机命令。