linux sysvinitとustart(1)

2277 ワード

この記事のアドレス:http://blog.csdn.net/spch2008/article/details/9468537
linuxは異なるrunを設定することによって levelレベルは、システムが異なるサービスを有効にして、linuxの使用環境を変化させます。
0 - halt                       
1 - single user mode            ,         
2 - Multi-user,without NFS     ,  NFS
3 - Fullmulti-user mode           
4 - unused                       
5 - X11                        X Window
6 - reboot                     
カーネルロードが完了したら、/sbin/initを実行して、最初のプロセスを作成します。このプロセスはシステム環境の設定、サービスの開始などを担当しています。
init読出し/etc/inittab設定ドキュメントは、対応する操作を行います。
id:5:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
第一行:id:5:initdefault、配置のlevelは5です。
第二行:si:sysnit:/etc/rc.d/rc.sysnit  システム初期化のために/etc/rc.d/rc.sysnitを呼び出します。
次に、runによると level 5は、/etc/rc.d/rc 5.dのプログラムを実行します。
K01dnsmasq         K73ypbind          K89netplugd         S08iptables        S26lvm2-monitor
K02avahi-dnsconfd  K74ntpd            K89pand             S08mcstrans        S28autofs
rc 5.dディレクトリのスクリプトはいくつかのリンクであり、これらのリンクのフォーマットは以下の通りである。
Snn.script_name    S:相応のプロセスを起動することを代表して、nnは番号です。
Knn.script_name    K:該当プロセスを殺すことを表します。nnはシーケンス番号です。
initプロセスが対応するランレベルスクリプトを呼び出すと、そのプロセスは高い番号から低い番号のK 02 avah-dnsconfd、K 01 dnsmasqとなります。
起動プロセスは低い番号から高い番号で行います。
これらのスクリプトはすべて/etc/init.d/フォルダに接続されており、RCN.dディレクトリは同じディレクトリの下のスクリプトに接続されており、重複を避けることができます。
lrwxrwxrwx 1 root root 17 Mar 30  2011 K01dnsmasq -> ../init.d/dnsmasq
lrwxrwxrwx 1 root root 24 Mar 30  2011 K02avahi-dnsconfd -> ../init.d/avahi-dnsconfd
lrwxrwxrwx 1 root root 17 Mar 30  2011 K05anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root 17 Mar 30  2011 K05wdaemon -> ../init.d/wdaemon
なお、S 99 localは、rc.localスクリプトファイルに接続されており、起動時にユーザ設定のカスタマイズ機能を実行することができ、例えば、ルーティングの追加、ルーティングの削除などができる。
lrwxrwxrwx 1 root root 11 Mar 30  2011 S99local -> ../rc.local
lrwxrwxrwx 1 root root 16 Mar 30  2011 S99smartd -> ../init.d/smartd
同時に注意してください。/etc/rc.local、/etc/init.dはそれぞれのファイルに接続されています。