Upstart は、一部のupstart linuxディストリビューションで使用されるイベント駆動型の init システムであり、起動時およびシステム実行中のサービスやタスクの管理を行います。これはジョブとイベントのシステムを通じて機能します。すべてのイベントの起源を追跡するのは複雑で、/etc/init内のジョブ設定を調べる必要があることがよくありますが、より一般的にはコマンドラインから直接これらのジョブを管理する必要があります。initctlユーティリティは、この目的のためのコマンド群を提供します。
ジョブステータスの表示
既知のすべての Upstart ジョブとその現在の状態を確認するには、listコマンドを使用します。
initctl list
shutdown stop/waiting
console stop/waiting
...
出力には、ジョブ名、そのゴール、および現在のステータスが表示されます。例のshutdown stop/waitingでは、ジョブ名はshutdown、ゴールはstop、現在のステータスはwaitingです。ジョブを操作すると、ジョブのステータスとゴールは変化します。
特定のジョブの状態を確認するには、statusコマンドを使用します。
initctl status networking
networking start/running
ジョブの手動制御
/etc/init内のジョブ設定ファイルは、ジョブがどのように開始、停止し、イベントと相互作用するかを定義しますが、initctlを使用してこれらのアクションを手動で上書きできます。これはトラブルシューティングや管理タスクの実行に役立ちます。
ジョブを手動で開始するには:
sudo initctl start networking
ジョブを手動で停止するには:
sudo initctl stop networking
ジョブを再起動するには(停止してから開始する便利なショートカットです):
sudo initctl restart networking
カスタムイベントの発行
Upstart ジョブはイベントによってトリガーされます。カスタムジョブのトリガーやテスト目的で、イベントを「発行」することもできます。some_eventで開始するように設定されているジョブは、次のコマンドによってトリガーされます。
sudo initctl emit some_event