Zabbix Documentation 2.2

3.04.05.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.24.4Guidelines

User Tools

Site Tools

This translation is older than the original page and might be outdated. See what has changed.

Sidebar

jp:manual:appendix:command_execution

This is an old revision of the document!


FIXME This page is not fully translated, yet.
(remove this paragraph once the translation is finished)

8 コマンドの実行

Zabbix は、共通の機能を使用し、ユーザーパラメータ、リモートコマンド、 「nowait」フラグを除くsystem.run[]アイテム、スクリプト(警告、外部、グローバル)およびいくつかの内部コマンドを実行します。コマンド/スクリプトは、UNIXとWindows プラットフォームの両方でよく似た動きをします:

  1. Zabbix(親プロセス)が、通信のパイプを作成します。
  2. Zabbix がそのパイプを、作成される予定の子プロセスのアウトプットとして設定します。
  3. Zabbix が子プロセスを作成(コマンド/スクリプトを実行)します。
  4. (UNIXでは)新しいプロセスグループ、(Windowsでは)ジョブが、子プロセスに対して作成されます。
  5. Zabbixは、タイムアウトが発生するまで、または他方のエンドへの書き込みが発生しなくなる(すべてのハンドル/ファイルの記述子がクローズされる)まで、そのパイプから読み込みます。子プロセスは、さらにプロセスを作成することができ、それらが終了するかハンドル/ファイルの記述子をクローズする前に終了します。
  6. タイムアウトに達しなかった場合、Zabbix は最初の子プロセスが終了するかタイムアウトが発生するまで待機します。
  7. この時点で、すべてが実行され、プロセスの階層全体(すなわち、プロセスグループまたはジョブ)が終了されたとみなされます。
Zabbix は、最初の子プロセスが終了し「かつ」アウトプットのハンドル/ファイルの記述子をオープンしたままにしている他のプロセスがないときに、コマンド/スクリプトが処理を完了したとみなしますので注意してください。処理が完了した時点で、作成された「すべての」プロセスが終了します。
ユーザーパラメータリモートコマンド警告スクリプトについて、さらに詳細を読んでください。
コマンド内のすべての二重引用符とバックスラッシュは、バックスラッシュでエスケープされ、そのコマンドは二重引用符で囲まれます。

本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。