任何时候,系统处于以下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