SysV initランレベルを使用するシステムでは、例:セントース5、オペレーティングシステムが起動したら、定義された実行レベルに直接入りますか/etc/inittab
?
次のコマンドを使用してランレベルを変更すると、init
現在のランレベルの終了スクリプトが実行され、新しいランレベルの起動スクリプトが実行されますか?
たとえば、ランレベル3に入ってEnterを入力すると終了スクリプトがinit 1
実行され/etc/rc.d/rc3.d
、ランレベル1に入ると起動スクリプトが実行されますか/etc/rc.d/rc1.d
?
答え1
はい、SysVinitは他のレベルのスクリプトを表示せずに、起動時に選択したランレベルに直接移動します。コマンドを使用して実行レベルの履歴を表示できますrunlevel
。初めて起動すると、「前」ランレベルが「N」と表示されます。実行レベルが変更されると、前と現在の実行レベルが表示されます。
ランレベルを切り替えるときは、まずランレベルの違いを確認してください。終了スクリプトを使用して、現在のレベルにリストされているが新しいレベルにはリストされていないすべてのサービスを最初に終了し、次に新しいレベルにリストされているが以前のレベルにはリストされていないサービスを実行します。両方のランレベルに存在するサービスは影響を受けません。
たとえば、ランレベル 3 から 5 に切り替えると、通常、ディスプレイ マネージャーなどの操作が開始されますが、何も終了しません。 5から1に切り替えると、かなりの数が終了し、1が実行される可能性があります(単一のUIコンソールマネージャのように)。