概要
initは「初期化」を意味し、システムブート後にカーネルがメモリにロードされた後、最初に実行されるユーザー空間プロセスです。initプロセスは他のすべてのプロセスの親となり、システム全体の状態を管理します。initはランレベルという概念を使用して、さまざまなシステムモードを定義および管理します。現代のLinuxシステムではほとんどsystemdがこの役割を担っていますが、initコマンドはsystemdとの互換性のために依然として維持されています。
主な特徴
initコマンドの主な特徴は以下の通りです。
- PID(プロセスID)は常に1番です。
- すべてのプロセスの親の役割を果たします。
- システムの起動および終了を担当します。
- ランレベルを介してシステムの動作モードを制御します。
ランレベルの説明
initはランレベルを使用してシステムの動作モードを指定します。各ランレベルはシステムの特定の状態を示します。
- 0: システム終了(halt)モードです。すべてのプロセスを停止し、電源を切ります。
- 1: シングルユーザー(Single User)モードです。システムメンテナンスや復旧作業に使用され、ネットワークやその他のサービスは無効になります。
- 2: ネットワークファイルシステム(NFS)がないマルチユーザー(Multi User)モードです。
- 3: すべてのサービスが開始されたマルチユーザー(Multi User)モードで、テキストベースの環境です。主にサーバー環境で使用されます。
- 5: グラフィック環境が含まれたマルチユーザー(Multi User)モードで、一般的なデスクトップ環境です。
- 6: システム再起動(reboot)モードです。
主要オプション
initコマンドは主に数値引数を使用してランレベルを指定する形で使用されます。直接的なオプションよりも数値を引数として使用します。
1) ランレベルの変更
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`init` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
initコマンドの様々な使用例を通じて機能を習得しましょう。
システム終了
sudo init 0
システムを安全に終了します。これは「shutdown -h now」と類似した効果を持ちます。
シングルユーザーモードへの切り替え
sudo init 1
ファイルシステム復旧やシステム点検のためにシングルユーザーモードに切り替えます。
システム再起動
sudo init 6
システムを再起動します。これは「reboot」コマンドと類似した効果を持ちます。
ヒント&注意事項
initコマンド使用時の注意点をまとめました。
ヒント
- initコマンドはroot権限が必要なため、「sudo」と組み合わせて使用する必要があります。
- initコマンドの使用はシステムに即座に影響を与えるため、他のユーザーがいない環境で慎重に使用する必要があります。
- 現代のLinuxシステム(Ubuntu、CentOSなど)ではinitの代わりにsystemdが標準であるため、「shutdown」や「reboot」、「systemctl」コマンドの使用が推奨されます。
- ランレベルは主に/etc/inittabファイルで定義されていますが、systemdを使用するシステムではこのファイルは使用されません。