4. Upstart ジョブ

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

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!Upstart に特化したラボはありませんが、タスクのスケジュール設定と管理方法を理解することは、システムプロセスの制御にとって極めて重要です。理解を深めるための実践的なラボを以下に示します。

  1. Linux における at および cron を使用したタスクのスケジュール設定 - 一回限りのジョブと定期的なジョブの作成、管理、削除を練習します。これらは、Upstart が処理するような Linux 環境におけるサービスやタスクの管理の基本概念です。

このラボは、実際のシナリオでタスク自動化の概念を適用し、システム運用の管理に対する自信を構築するのに役立ちます。

クイズ

`peanuts`という名前の Upstart ジョブを手動で再起動するにはどうすればよいですか?完全なコマンドを提供してください。(注:回答は大文字と小文字が区別され、英語である必要があります。)