科技时代新浪首页 > 科技时代 > 滚动新闻 > 正文

Solaris 引导与初始化


http://www.sina.com.cn 2006年10月09日 20:45 ChinaByte

  任何时候,系统处于以下8种可用的运行级别中:0~6、S=s。/sbin/init 或/etc/telinit(link)的主要功能是根据/etc/inittab文件中的定义创建其子进程。

  操作系统引导期间,init进程被激活并从/etc/default/init读取有关时区和语言等的环境变量,随后检查/etc/inittab(如不存在,则提示用户输入)中的缺省level,并spawn("孵化")该级别定义的所有进程。

  初始化结束后,init进程进入等待状态,等候以下事件发生:定义为respawn类型的子进程终止;电源失败信号;其它init进程改变系统的运行级别。

  /etc/inittab文件中可以加入新的条目,可以用init -q来强制init进程立即重新查看该文件中的信息。

  收到改变运行level请求后,init进程向每个未被目标level定义的进程发出警告信号SIGTERM,并再5秒后发出SIGKILL信号强行终止这些进程

  进程被创建时在/var/adm/wtmp中有记录,终止时在/var/adm/utmp有记录。

  收到SIGPWR信号后,init进程检查/etc/inittab中有关powerfail 和powerwait类型的条目,并立即执行。

  sync命令可以同步硬盘缓冲。

  运行等级包括(常用到的有3、S、0、6):

  0:firmware,可以安全关机。

  1:系统管理员状态,mount所有文件系统,保留一小部分基本的内核进程,无用户登录。

  2:多用户状态

  3:扩展多用户状态,所有资源在网络上可用

  4:可被定义为可选的多用户状态,

  5:为关闭电源而将系统shut down

  6:停止OS并reboot到缺省的level.

  S=s,单用户状态,仅有root自己登录。

  命令init的参数还有:

  a,b,c:执行inittab中的特定命令但不改变当前运行等级。

  Q=q,重新检查/etc/inittab

  shutdown命令可以进入S等级

  关机:

  通常情况下,系统是被设计连续运行的,但是当发生以下情况时可能需要关闭系统:在S等级下进行系统维护;改变系统的硬件配置;发生系统崩溃等严重故障;进行环境调整需要停电等。

  shutdown 命令发出后,系统以约定的格式发出7200、3600、1800、1200、600、300、120、60、30秒警告。

  缺省为在60秒后进入状态S,可以使用的参数有:

  -y 跳过提示确认

  -i 进入制定的等级状态

  -g 关机等待时间

  在系统停止响应后,应首先尝试以下控制键序列:^Q、^C、^D、^X;然后可试图用kill方法杀死挂起的进程,不得已时才使用紧急关机。

  紧急关机时,首先尝试STOP-A,进行硬盘同步并重新启动;最后尝试直接关闭电源。

  无用户帐号可登录:

  #boot -s

  修改 /etc/default/login文件

  忘记root口令:

  #boot cdrom -sw

  cd /

  mount /dev/dsk/c0t0d0s0 /mnt

  cd /mnt/etc

  修改shadow

  umount /mnt

  reboot

爱问(iAsk.com)



论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

新浪公司 版权所有