没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
6页
linux下有关关机重启的命令主要有:shutdown、reboot、halt、poweroff、telinit、init。它们都可以达到关机或重启的目的,但是每个命令的工作流程并不一样。它们都由软件包sysvinit产生,你可以从网上下载它的源码来分析各个命令的流程,同时,sysvinit也包含了与登陆等有关的命令。下面分析sysvinit-2.86软件包的源码,同时参考它们的手册来对它们深入了解。
资源推荐
资源详情
资源评论
Linux 关机命令分析
任桥伟
MSN:
ilttv@hotmail.com
Email:
ilttv@163.com
linux下有关关机重启的命令主要有:shutdown、reboot、halt、poweroff、telinit、init。它们
都可以达到关机或重启的目的,但是每个命令的工作流程并不一样。它们都由软件包sysvinit产生,
你可以从网上下载它的源码来分析各个命令的流程,同时,sysvinit也包含了与登陆等有关的命令。
下面分析sysvinit-2.86软件包的源码,同时参考它们的手册来对它们深入了解。
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)
关机。
按照默认设置,/etc/inittab文件指定你的系统可在控制台使用CTRL-ALT-DEL键组合来关闭并重启
资源评论
zhu9105
- 粉丝: 0
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功