下载此文档

linux关机命令分析.pdf


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/ 6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 6 下载此文档
文档列表 文档介绍
Linux 关机命令分析

任桥伟
MSN:ilttv@
Email:ilttv@

linux下有关关机重启的命令主要有:shutdown、reboot、halt、poweroff、telinit、init。它们
都可以达到关机或重启的目的,但是每个命令的工作流程并不一样。它们都由软件包sysvinit产生,
你可以从网上下载它的源码来分析各个命令的流程,同时,sysvinit也包含了与登陆等有关的命令。
下面分析sysvinit-,同时参考它们的手册来对它们深入了解。

1、从Makefile可以知道,上面的命令并不都是互相独立的,poweroff、reboot是halt的链接,telinit
是init的链接。
ln -sf halt $(ROOT)/sbin/reboot
ln -sf halt $(ROOT)/sbin/poweroff
ln -sf init $(ROOT)/sbin/telinit
在终端输入
# ls -l /sbin/poweroff
# ls -l /sbin/reboot
# ls -l /sbin/telinit
也可以看到上面的结果。

2、halt。
参数说明:
[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块
〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启(halt/reboot)。
[-h] 使硬盘处于standby模式。
[-i] 关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。

前面已经知道,poweroff、reboot是halt的链接,halt会首先判断用户执行的是否是poweroff和
reboot中的一个。如果执行的是poweroff,则等效于-p参数,执行reboot的情况将在下面说明。

解析命令行参数后,会调用geteuid系统调用判断是否为root用户,如果为普通用户,halt退出。

接下来即是针对不同的参数执行不同操作的过程。首先是不带任何参数的情况(或者参数中不含-w
或-f),halt会通过INIT_VERSION和RUNLEVEL环境变量,或者读取/var/run/utmp文件(通过linux
的用户组函数)获得系统所在的运行级。如果系统不在0和6运行级,会判断执行的是否reboot,如
果用户执行reboot,则调用"shutdown -r";否则执行"shutdown -h"。

其它情况下,都是通过调用reboot系统调用来达到关机或重启的目的,有关reboot系统调用,可以
使用man 2 reboot命令查看它的手册。如果开启了CTRL-ALT-DEL,同时按下CTRL-ALT-DEL时,会调
用reboot(RB_ENABLE_CAD)重启;如果用户执行的是poweroff命令,会调用reboot(RB_POWER_OFF)

linux关机命令分析 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 6
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 紫岑旖旎
  • 文件大小 0 KB
  • 时间2012-08-24
最近更新