安装 Sysvinit-2.84

估计编译时间:		0.06 SBU
估计所需硬盘空间:     1 MB

安装 Sysvinit

当运行级(run level)改变(例如:要关闭系统)时,init程序就会向由它启动的所有进程发出TERM和KILL信号。但是init程序向屏幕输出的信息是:"Sending processes the TERM (或者KILL)signal"。这些信息表示向系统所有正在运行的进程发送信号,事实上并非如此。为了避免这种混淆,可以修改init.c文件,让其显示 "Sending processes started by init the TERM signal"。如果你不介意,可以不改。要改的话,用下面的命令:

cp src/init.c{,.backup} &&
sed 's/Sending processes/Sending processes started by init/g' \
    src/init.c.backup > src/init.c

安装 Sysvinit 的命令如下:

make -C src &&
make -C src install

Sysvinit的内容

最后检查于version 2.84.

包含的程序

halt, init, killall5, last, lastb (链接至 last), mesg, pidof (链接至 killall5), poweroff (链接至 halt), reboot (链接至 halt), runlevel, shutdown, sulogin, telinit (链接至 init), utmpdump 和 wall

具体说明

halt

停止系统。

init

是所有进程的父进程。最主要的作用是在启动过程中使用/etc/inittab文件创建进程。/etc/inittab文件主要为init派生getty进程提供入口,以便用户登录,在某些系统中它也被用来控制自治(autonomous)进程。

killall5

就是SystemV的killall命令。向除自己的会话(session)进程之外的其它进程发出信号,所以不能杀死当前使用的shell。

last

回溯/var/log/wtmp文件(或者-f选项指定的文件),显示自从这个文件建立以来,所有用户的登录情况。

lastb

作用和last差不多,默认情况下使用/var/log/btmp文件,显示所有失败登录企图。

mesg

控制其它用户对用户终端的访问。

pidof

找出程序的进程识别号(pid),输出到标准输出设备。

poweroff

等于shutdown -h -p。关闭系统并切断电源,需要与APM兼容的BIOS以及内核的支持。

reboot

等于shutdown -r。重启系统。

runlevel

读取系统的登录记录文件(一般是/var/run/utmp)把以前和当前的系统运行级输出到标准输出设备。

shutdown

以一种安全的方式终止系统,所有正在登录的用户都会收到系统将要终止通知,并且不准新的登录。

sulogin

当系统进入单用户模式时,被init调用。当接收到启动加载程序传递的-b选项时,init也会调用sulogin。

telinit

实际是init的一个连接,用来向init传送单字符参数和信号。

utmpdump

以一种用户友好的格式向标准输出设备显示/var/run/utmp文件的内容。

wall

向所有有信息权限的登录用户发送消息。

安装Sysvinit依赖于

最后检查于 version 2.84.

Bash: sh
Binutils: as, ld
Fileutils: chown, cp, install, ln, mknod, rm
Gcc: cc, cc1, collect2, cpp0
Make: make
Sed: sed