(57)【要約】【課題】ｐｓコマンドなどを何度も実行しなくてもプロセスの故障を検出することができ、また、リアルタイムにプロセスの故障を検出することができる機能を備えた故障検出装置を提供することを目的とする。【解決手段】プロセスＩＤ取得手段１０１がｐｓコマンドを実行してプロセス一覧を取得し、当該プロセス一覧から監視対象プロセス名記述ファイル１５に記述されているプロセス名に対応するプロセスＩＤを取得する。そしてファイル記述子取読み取り手段１０２が、取得したプロセスＩＤに基づいてプロセス情報格納ファイル１３からファイル記述子を読み取り、ファイル記述子登録手段１０３がファイル記述子をファイル記述子状態検出プログラム１４に登録する。また故障検出手段１０４が、ファイル記述子の無効の通知をファイル記述子状態検出プログラム１４から受け付けて監視対象プロセスの故障を検出する。【選択図】  図１
2005078123.tif 000002
【特許請求の範囲】
【請求項１】
監視対象プロセスに対応するファイル記述子を記録したプロセス情報格納ファイルと、前記監視対象プロセスの故障に基づいて前記ファイル記述子の無効を通知するファイル記述子状態検出手段とを有するコンピュータの故障検出装置であって、
前記監視対象プロセスのプロセス名を記述した監視対象プロセス名記述ファイルと、
プロセスＩＤ取得コマンドを実行してプロセス名とプロセスＩＤとを対応付けて記述したプロセス一覧を取得し、当該プロセス一覧から前記監視対象プロセス名記述ファイルに記述されているプロセス名に対応するプロセスＩＤを取得するプロセスＩＤ取得手段と、
前記取得したプロセスＩＤに基づいて前記プロセス情報格納ファイルから前記ファイル記述子を読み取るファイル記述子取読み取り手段と、
前記読み取ったファイル記述子を前記ファイル記述子状態検出手段に登録するファイル記述子登録手段と、
当該登録したファイル記述子の無効の通知を前記ファイル記述子状態検出手段から受け付けて前記監視対象プロセスの故障を検出する故障検出手段と、
を備えることを特徴とする故障検出装置。
【請求項２】
前記監視対象プロセスの起動コマンド名を記述した起動コマンド名記述ファイルと、
前記無効の通知を受けた監視対象プロセスの起動コマンド名を前記起動コマンド名記述ファイルから読み取って、当該読み取った起動コマンド名に基づいて起動コマンドを実行する再起動手段と、
を備えることを特徴とする請求項１に記載の故障検出装置。
【請求項３】
前記監視対象プロセス名記述ファイルが同一のプロセス名を複数記述し、
前記プロセスＩＤ取得手段は前記複数の同一プロセス名に基づいて、プロセス名が同一となる複数の監視対象プロセスの各プロセスＩＤを取得する
ことを特徴とする請求項１または請求項２のいずれかに記載の故障検出装置。
【請求項４】
前記監視対象プロセス名記述ファイルが前記監視対象プロセスの起動に用いる引数を前記プロセス名に対応付けて記述し、
前記プロセスＩＤ取得手段は前記監視対象プロセスのプロセス名と前記引数とに基づいて、前記プロセス一覧から前記プロセスＩＤを取得する
ことを特徴とする請求項１から請求項３のいずれかに記載の故障検出装置。
【請求項５】
監視対象プロセスに対応するファイル記述子を記録したプロセス情報格納ファイルと、前記監視対象プロセスの故障に基づいて前記ファイル記述子の無効を通知するファイル記述子状態検出手段とを有するコンピュータの故障検出方法であって、
プロセスＩＤ取得コマンドを実行してプロセス名とプロセスＩＤとを対応付けて記述したプロセス一覧を取得し、当該プロセス一覧から監視対象プロセス名記述ファイルに記述されているプロセス名に対応するプロセスＩＤを取得するプロセスＩＤ取得過程と、
前記取得したプロセスＩＤに基づいて前記プロセス情報格納ファイルから前記ファイル記述子を読み取るファイル記述子取読み取り過程と、
前記読み取ったファイル記述子を前記ファイル記述子状態検出手段に登録するファイル記述子登録過程と、
当該登録したファイル記述子の無効の通知を前記ファイル記述子状態検出手段から受け付けて前記監視対象プロセスの故障を検出する故障検出過程と、
を有することを特徴とする故障検出方法。
【請求項６】
前記監視対象プロセスの起動コマンド名を記述した起動コマンド名記述ファイルを有し、
前記無効の通知を受けた監視対象プロセスの起動コマンド名を前記起動コマンド名記述ファイルから読み取って、当該読み取った起動コマンド名に基づいて起動コマンドを実行する再起動過程
を有することを特徴とする請求項５に記載の故障検出方法。
【請求項７】
前記監視対象プロセス名記述ファイルが同一のプロセス名を複数記述し、
前記プロセスＩＤ取得過程において、前記複数の同一プロセス名に基づいて、プロセス名が同一となる複数の監視対象プロセスの各プロセスＩＤを取得する
ことを特徴とする請求項５または請求項６のいずれかに記載の故障検出方法。
【請求項８】
前記監視対象プロセス名記述ファイルが前記監視対象プロセスの起動に用いる引数を前記プロセス名に対応付けて記述し、
前記プロセスＩＤ取得過程において、前記監視対象プロセスのプロセス名と前記引数とに基づいて、前記プロセス一覧から前記プロセスＩＤを取得する
ことを特徴とする請求項５から請求項７のいずれかに記載の故障検出方法。
【請求項９】
監視対象プロセスに対応するファイル記述子を記録したプロセス情報格納ファイルと、前記監視対象プロセスの故障に基づいて前記ファイル記述子の無効を通知するファイル記述子状態検出手段とを有するコンピュータに実行させるプログラムであって、
プロセスＩＤ取得コマンドを実行してプロセス名とプロセスＩＤとを対応付けて記述したプロセス一覧を取得し、当該プロセス一覧から監視対象プロセス名記述ファイルに記述されているプロセス名に対応するプロセスＩＤを取得するプロセスＩＤ取得過程と、
前記取得したプロセスＩＤに基づいて前記プロセス情報格納ファイルから前記ファイル記述子を読み取るファイル記述子取読み取り過程と、
前記読み取ったファイル記述子を前記ファイル記述子状態検出手段に登録するファイル記述子登録過程と、
当該登録したファイル記述子の無効の通知を前記ファイル記述子状態検出手段から受け付けて前記監視対象プロセスの故障を検出する故障検出過程と、
の処理を実行させるプログラム。
【請求項１０】
前記無効の通知を受けた監視対象プロセスの起動コマンド名を、前記監視対象プロセスの起動コマンド名を記述した起動コマンド名記述ファイルから読み取って、当該読み取った起動コマンド名に基づいて起動コマンドを実行する再起動過程
の処理を実行させる請求項９に記載のプログラム。
【請求項１１】
前記プロセスＩＤ取得過程において、前記監視対象プロセス名記述ファイルに複数記述された同一プロセス名に基づいて、プロセス名が同一となる複数の監視対象プロセスの各プロセスＩＤを取得する
処理を実行させる請求項９または請求項１０のいずれかに記載のプログラム。
【請求項１２】
前記プロセスＩＤ取得過程において、前記監視対象プロセス名記述ファイルに記述された前記監視対象プロセスのプロセス名とその監視対象プロセスの起動に用いる引数とに基づいて、前記プロセス一覧から前記プロセスＩＤを取得する
処理を実行させる請求項９から請求項１１のいずれかに記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータシステムに係り、特に、故障検出装置および故障検出方法ならびにそのプログラムに関するものである。
【０００２】
【従来の技術】
従来、ＵＮＩＸ（登録商標）システム内で起動しているプログラムのプロセスに関わる情報を取得する場合、ＵＮＩＸ（登録商標）のＯＳが備えているｐｓ（Ｒｅｐｏｒｔ  Ｐｒｏｃｅｓｓ  Ｓｔａｔｕｓ）コマンドを用いて取得する場合がある。そして、このｐｓコマンドを用いてＵＮＩＸ（登録商標）システム内で起動しているプログラムのプロセスの情報を取得する技術が公開されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２００２−３４２１０７号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上述の技術でプロセスの情報を取得する方法の場合、リアルタイムにプロセス故障を検出するためには、短い周期でｐｓコマンドを実行する必要がある。ここで、ｐｓコマンドを用いてプロセスの情報を得ることによりプロセスの故障を検出する方法では、ｐｓコマンドを実行した時点のプロセスの状態しか検出できないのでリアルタイムに故障を検出することができない。また、短い周期でｐｓコマンドを何度も実行してプロセスの情報を取得する方法では、ＵＮＩＸ（登録商標）システムに負荷をかけてしまうため、プロセスの故障を行なう手段としては不適当である。
そこでこの発明は、ｐｓコマンドなどを何度も実行しなくてもプロセスの故障を検出することができ、また、リアルタイムにプロセスの故障を検出することができる機能を備えた、コンピュータの故障検出装置および故障検出方法ならびにそのプログラムを提供することを目的としている。
【０００５】
【課題を解決するための手段】
本発明は、上述の課題を解決すべくなされたもので、監視対象プロセスに対応するファイル記述子を記録したプロセス情報格納ファイルと、前記監視対象プロセスの故障に基づいて前記ファイル記述子の無効を通知するファイル記述子状態検出手段とを有するコンピュータの故障検出装置であって、前記監視対象プロセスのプロセス名を記述した監視対象プロセス名記述ファイルと、プロセスＩＤ取得コマンドを実行してプロセス名とプロセスＩＤとを対応付けて記述したプロセス一覧を取得し、当該プロセス一覧から前記監視対象プロセス名記述ファイルに記述されているプロセス名に対応するプロセスＩＤを取得するプロセスＩＤ取得手段と、前記取得したプロセスＩＤに基づいて前記プロセス情報格納ファイルから前記ファイル記述子を読み取るファイル記述子取読み取り手段と、前記読み取ったファイル記述子を前記ファイル記述子状態検出手段に登録するファイル記述子登録手段と、当該登録したファイル記述子の無効の通知を前記ファイル記述子状態検出手段から受け付けて前記監視対象プロセスの故障を検出する故障検出手段とを備えることを特徴とする故障検出装置である。
【０００６】
上述の構成によれば、本発明は、プロセスＩＤ取得手段がプロセスＩＤ取得コマンドを実行してプロセス名とプロセスＩＤとを対応付けて記述したプロセス一覧を取得し、当該プロセス一覧から監視対象プロセス名記述ファイルに記述されているプロセス名に対応するプロセスＩＤを取得する。そしてファイル記述子取読み取り手段が、取得したプロセスＩＤに基づいてプロセス情報格納ファイルからファイル記述子を読み取り、ファイル記述子登録手段が、読み取ったファイル記述子をファイル記述子状態検出手段に登録する。また故障検出手段が、登録したファイル記述子の無効の通知をファイル記述子状態検出手段から受け付けて監視対象プロセスの故障を検出する。これにより、ｐｓコマンドなどを何度も実行しなくてもプロセスの故障を検出することができる。また、監視対象プロセスが故障した時点でファイル記述子状態検出手段よりファイル記述子の無効が通知されるので、リアルタイムにプロセスの故障を検出することができる。
【０００７】
また本発明は、上述の故障検出装置において、前記監視対象プロセスの起動コマンド名を記述した起動コマンド名記述ファイルと、前記無効の通知を受けた監視対象プロセスの起動コマンド名を前記起動コマンド名記述ファイルから読み取って、当該読み取った起動コマンド名に基づいて起動コマンドを実行する再起動手段とを備えることを特徴とする。これにより、起動コマンド名を起動コマンド名記述ファイルに記述しておけば、故障した監視対象プロセスの再起動を直ちに行うことができる。
【０００８】
また本発明は、上述の故障検出装置において、前記監視対象プロセス名記述ファイルが同一のプロセス名を複数記述し、前記プロセスＩＤ取得手段は前記複数の同一プロセス名に基づいて、プロセス名が同一となる複数の監視対象プロセスの各プロセスＩＤを取得することを特徴とする。これにより、プロセス名が同一の監視対象プロセスが複数起動される場合でも、プロセス名が同一の監視対象プロセスそれぞれの異なるプロセスＩＤを読みとるので、複数の同一プロセス名の各監視対象プロセスの故障を検出することが出来る。
【０００９】
また本発明は、上述の故障検出装置において、前記監視対象プロセス名記述ファイルが前記監視対象プロセスの起動に用いる引数を前記プロセス名に対応付けて記述し、前記プロセスＩＤ取得手段は前記監視対象プロセスのプロセス名と前記引数とに基づいて、前記プロセス一覧から前記プロセスＩＤを取得することを特徴とする。これにより、同じ引数で起動された同一プロセス名の監視対象プロセスが複数ある場合でも、同一プロセス名の各監視対象プロセスの故障をそれぞれ検出することが出来る。
【００１０】
また本発明は、監視対象プロセスに対応するファイル記述子を記録したプロセス情報格納ファイルと、前記監視対象プロセスの故障に基づいて前記ファイル記述子の無効を通知するファイル記述子状態検出手段とを有するコンピュータの故障検出方法であって、プロセスＩＤ取得コマンドを実行してプロセス名とプロセスＩＤとを対応付けて記述したプロセス一覧を取得し、当該プロセス一覧から監視対象プロセス名記述ファイルに記述されているプロセス名に対応するプロセスＩＤを取得するプロセスＩＤ取得過程と、前記取得したプロセスＩＤに基づいて前記プロセス情報格納ファイルから前記ファイル記述子を読み取るファイル記述子取読み取り過程と、前記読み取ったファイル記述子を前記ファイル記述子状態検出手段に登録するファイル記述子登録過程と、当該登録したファイル記述子の無効の通知を前記ファイル記述子状態検出手段から受け付けて前記監視対象プロセスの故障を検出する故障検出過程とを有することを特徴とする故障検出方法である。
【００１１】
また本発明は、上述の故障検出方法であって、前記監視対象プロセスの起動コマンド名を記述した起動コマンド名記述ファイルを有し、前記無効の通知を受けた監視対象プロセスの起動コマンド名を前記起動コマンド名記述ファイルから読み取って、当該読み取った起動コマンド名に基づいて起動コマンドを実行する再起動過程を有することを特徴とする。
【００１２】
また本発明は、上述の故障検出方法であって、前記監視対象プロセス名記述ファイルが同一のプロセス名を複数記述し、前記プロセスＩＤ取得過程において、前記複数の同一プロセス名に基づいて、プロセス名が同一となる複数の監視対象プロセスの各プロセスＩＤを取得することを特徴とする。
【００１３】
また本発明は、上述の故障検出方法であって、前記監視対象プロセス名記述ファイルが前記監視対象プロセスの起動に用いる引数を前記プロセス名に対応付けて記述し、前記プロセスＩＤ取得過程において、前記監視対象プロセスのプロセス名と前記引数とに基づいて、前記プロセス一覧から前記プロセスＩＤを取得することを特徴とする。
【００１４】
また本発明は、監視対象プロセスに対応するファイル記述子を記録したプロセス情報格納ファイルと、前記監視対象プロセスの故障に基づいて前記ファイル記述子の無効を通知するファイル記述子状態検出手段とを有するコンピュータに実行させるプログラムであって、プロセスＩＤ取得コマンドを実行してプロセス名とプロセスＩＤとを対応付けて記述したプロセス一覧を取得し、当該プロセス一覧から監視対象プロセス名記述ファイルに記述されているプロセス名に対応するプロセスＩＤを取得するプロセスＩＤ取得過程と、前記取得したプロセスＩＤに基づいて前記プロセス情報格納ファイルから前記ファイル記述子を読み取るファイル記述子取読み取り過程と、前記読み取ったファイル記述子を前記ファイル記述子状態検出手段に登録するファイル記述子登録過程と、当該登録したファイル記述子の無効の通知を前記ファイル記述子状態検出手段から受け付けて前記監視対象プロセスの故障を検出する故障検出過程との処理を実行させるプログラムである。
【００１５】
また本発明は、上述のプログラムに、前記無効の通知を受けた監視対象プロセスの起動コマンド名を、前記監視対象プロセスの起動コマンド名を記述した起動コマンド名記述ファイルから読み取って、当該読み取った起動コマンド名に基づいて起動コマンドを実行する再起動過程の処理を実行させることを特徴とする。
【００１６】
また本発明は、上述のプログラムの前記プロセスＩＤ取得過程において、前記監視対象プロセス名記述ファイルに複数記述された同一プロセス名に基づいて、プロセス名が同一となる複数の監視対象プロセスの各プロセスＩＤを取得する処理を実行させることを特徴とする。
【００１７】
また本発明は、上述のプログラムの前記プロセスＩＤ取得過程において、前記監視対象プロセス名記述ファイルに記述された前記監視対象プロセスのプロセス名とその監視対象プロセスの起動に用いる引数とに基づいて、前記プロセス一覧から前記プロセスＩＤを取得する処理を実行させることを特徴とする。
【００１８】
【発明の実施の形態】
以下、本発明の一実施形態による故障検出機能（故障検出装置）を備えたコンピュータを図面を参照して説明する。
図１は、この発明の一実施形態による故障検出機能を備えたコンピュータのソフトウェア構成を示す概略ブロック図である。
この図において、符号１は監視対象プロセスの故障を検出する故障検出機能である。なお、本実施形態における故障検出機能１を備えたコンピュータはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）としてＵＮＩＸ（登録商標）を採用している。そして故障検出機能１において、符号１１は監視対象プロセス（監視対象のアプリケーションプロセス）の故障を検出する監視プロセスである。符号１２はコンピュータ上で起動されたプログラムのプロセスのうちの監視対象となるプロセス（監視対象プロセス）である。
【００１９】
また１３は監視対象プロセス１２のプロセスＩＤやＣＰＵ使用時間やファイル記述子などのプロセス情報を格納するプロセス情報格納ファイルである。なお、プロセス情報格納ファイル１３には、ｐｓコマンド（プロセスＩＤ取得コマンド）を実行することによって取得できるプロセスＩＤやＣＰＵ使用時間などの情報と、ｐｓコマンドを実行しても取得できないファイル記述子などの情報が格納されている。また１４は登録を受けたファイル記述子に対応する監視対象プロセス１２の故障に基づいて、ファイル記述子の無効を監視プロセス１１に通知するファイル記述子状態検出プログラム（ファイル記述子状態検出手段）である。
【００２０】
なおファイル記述子とはファイルディスクリプタとも呼ばれ、プログラムがファイルやデバイスにアクセスする際に使用する整数の数値である。そしてファイル記述子はプロセス毎に割り当てられ、コンピュータはファイル記述子を用いて各プロセスへのデータの受け渡しを行なう。またファイル記述子状態検出プログラム１４は、例えば、ＵＮＩＸ（登録商標）のシステムコールのコマンドとして備えられたＰｏｌｌ関数などであり、登録を受けたファイル記述子が格納されているプロセス情報格納ファイル１３が削除された場合に、ファイル記述子の無効を判断し、監視プロセス１１に当該無効を通知するプログラムである。また１５は予めコンピュータのユーザが決定した監視対象プロセス１２のプロセス名や、当該監視対象プロセス１２を再起動するための起動パス（起動コマンド名）を記述した監視対象プロセス記述ファイル（起動コマンド名記述ファイル）である。
【００２１】
また監視プロセス１１において、符号１０１はｐｓコマンドを利用してプロセス情報格納ファイル１３に格納されている監視対象プロセス１２のプロセスＩＤを取得するプロセスＩＤ取得手段である。また１０２は監視対象プロセス１２のプロセスＩＤに基づいて、プロセス情報格納ファイル１３からファイル記述子を読み取るファイル記述子読み取り手段である。また１０３はファイル記述子読み取り手段１０２がプロセス情報格納ファイル１３から読み取ったファイル記述子をファイル記述子状態検出プログラム１４に登録するファイル記述子登録手段である。ここで、ファイル記述子をファイル記述子状態検出プログラム１４に登録するとは、ファイル記述子状態検出プログラム１４にファイル記述子を通知して、当該ファイル記述子の状態を検出するように設定することを言う。また１０４はファイル記述子状態検出プログラム１４からのファイル記述子の無効の通知を受け付けて監視対象プロセス１２の故障を検出する故障検出手段である。また１０５は故障した監視対象プロセス１２を強制終了させるプロセス強制終了手段である。また１０６はプロセス強制終了手段１０５が強制終了した監視対象プロセス１２を再起動する再起動手段である。
【００２２】
そして、コンピュータにおいてプロセスが起動された場合、起動されたプロセス毎に、例えば／ｐｒｏｃディレクトリ配下にプロセス情報格納ファイル１３が作成される。そして監視プロセス１１は、後述する処理によりコンピュータ上で起動しているプロセスのうちの監視対象プロセス１２に対応するファイル記述子を、プロセスＩＤに基づいて取得し、当該取得したファイル記述子をファイル記述子状態検出プログラム１４に登録する。そしてファイル記述子状態検出プログラム１４は通知を受けたファイル記述子の無効を検出し、監視プロセス１１に通知する。これにより監視プロセス１１は監視対象プロセス１２の故障を検出する。
【００２３】
図２は監視プロセス１１がファイル記述子を取得する処理のイメージを示す図である。この図が示すように、監視プロセス１１は、コンピュータが例えばＵＮＩＸ（登録商標）をＯＳとして採用している場合、／ｐｒｏｃディレクトリに作成された監視対象プロセス１２の各プロセス情報格納ファイル１３からファイル記述子を読み取る。また図３は監視プロセス１１が監視対象プロセス１２の故障を検出する際の処理のイメージを示す図である。この図が示すように、例えば、プロセス情報格納ファイル（ｃ）が抹消され、ファイル記述子（ｃ）が無効となると、当該無効が監視プロセス１１に通知される。これにより監視プロセス１１はファイル記述子（ｃ）に対応する監視対象プロセスの故障を検出する。
【００２４】
次に、故障検出機能の処理を図４を用いて順を追って説明する。図４は故障検出機能の処理フローを示す図である。
まず、監視プロセス１１のプロセスＩＤ取得手段１０１が監視対象プロセス記述ファイル１５から監視対象のプロセス名を読み取り、またプロセス名に対応する起動パスが記述されている場合にはその起動パスとを読み取り、ｐｓコマンドを実行して（ステップＳ１）、コンピュータ上で起動しているプロセスの一覧を取得する。なおプロセスの一覧には、プロセス名とそのプロセスを起動した際の引数（プロセスの起動時に引数が指定されていない場合にはプロセス名のみ）とプロセスＩＤが対応付けられて表示されている。そしてプロセスＩＤ取得手段１０１は、監視対象プロセス記述ファイル１５から読み取った監視対象プロセス名と同一のプロセス名に対応付けられたプロセスＩＤをプロセスの一覧から取得する（ステップＳ２）。
【００２５】
なお、監視対象プロセス記述ファイル１５で監視対象プロセス名と引数が対応付けられて記述されている場合には、プロセスＩＤ取得手段１０１は、監視対象のプロセス名と引数とに対応付けられたプロセスＩＤを一覧から読み取る。また、監視対象プロセス記述ファイル１５に同一の監視対象プロセス名が複数記述されている場合には、プロセスＩＤ取得手段１０１は、記述されている数だけの同一監視対象プロセス１２のプロセスＩＤを一覧から読み取る。ここで、本実施形態においては、監視対象プロセス記述ファイル１５に記述されている同一の監視対象プロセス１２の数と、該監視対象プロセス１２がコンピュータ上で起動されている数は同一であることを前提とする。
【００２６】
次に、ファイル記述子読み取り手段１０２は、／ｐｒｏｃディレクトリ配下に記録されている各プロセスのプロセス情報格納ファイル１３を１つずつ読み込んで、プロセスＩＤが格納されているか否かを判断する。そしてファイル記述子読み取り手段１０２は、プロセスＩＤ取得手段１０１の読み取ったプロセスＩＤを格納しているプロセス情報格納ファイル１３からファイル記述子を読み取る（ステップＳ３）。なお、監視プロセス１１は監視対象プロセス記述ファイル１５から読み取った監視対象プロセス名と、その監視対象プロセスのプロセスＩＤと、当該プロセスＩＤに基づいたファイル記述子を対応付けてメモリなどの記憶部に記憶しておく。
【００２７】
次にファイル記述子登録手段１０３はファイル記述子読み取り手段１０２の読み取ったファイル記述子をファイル記述子状態検出プログラム１４に登録する（ステップＳ４）。ここで、ステップ２からステップ４までの処理は、監視対象プロセス記述ファイル１５に記述されている監視対象プロセス名分繰り返し行なわれる。するとファイル記述子状態検出プログラム１４は、登録を受けたファイル記述子が無効か否かを常時監視する（ステップＳ５）。そして、ファイル記述子状態検出プログラム１４は、ＯＳからのファイル記述子の抹消の通知待ちを行なう。
【００２８】
次に、監視対象プロセス１２に故障が発生した場合、該当するプロセス情報格納ファイル１３がＯＳにより抹消される。すると、ファイル記述子状態検出プログラム１４は、抹消されたプロセス情報格納ファイル１３に記録されているファイル記述子を無効と判断し、当該ファイル記述子の無効を監視プロセス１１に通知する（ステップＳ６）。そして、監視プロセス１１の故障検出手段１０４は、無効となったファイル記述子に対応付けられて記憶部に記録されている監視対象プロセス名のプロセスが故障したことを検出する（ステップＳ７）。
【００２９】
次に、監視プロセス１１の故障検出手段１０４が、監視対象プロセス１２の故障を検出すると、プロセス強制終了手段１０５が監視対象プロセス名に対応付けれれて記憶部に記録されているプロセスＩＤを用いて監視対象プロセス１２を強制終了する。なおプロセス強制終了手段１０５は例えば、ＵＮＩＸ（登録商標）システムに備えられているＫｉｌｌコマンドなどを用いて監視対象プロセス１２を強制終了する（ステップＳ８）。そして再起動手段１０６が、ステップＳ１においてプロセスＩＤ取得手段１０１が起動パスを読み取っているか否かを確認する（ステップＳ９）。そして、強制終了した監視対象プロセス１２の起動パスを読み取っている場合には、再起動手段１０６はその起動パスを用いて、強制終了した監視対象プロセス１２を再起動する（ステップＳ１０）。
【００３０】
以上、監視対象プロセス１２の故障検出方法について説明したが、ファイル記述子読み取り手段１０２が同一名の監視対象プロセス１２に関わるプロセスＩＤを複数取得した場合には、最も値が大きい（若番の）プロセスＩＤが格納されているプロセス情報格納ファイル１３に記載のファイル記述子を読み取るようにしてもよいし、また、各プロセスＩＤがそれぞれ記述されたプロセス情報格納ファイル１３から各ファイル記述子をそれぞれ読み取るようにして、それらすべてのファイル記述子をファイル記述子状態検出プログラム１４に登録するようにしてもよい。
【００３１】
なお、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上述のプロセスとはプログラムのＯＳの管理下での実行単位のことである。そして、コンピュータの処理において、主記憶がハードディスクなどの記録媒体に記録されたプログラムを読み取って記憶し、ＣＰＵが主記憶の記憶するプログラムを実行する。またＣＰＵは当該実行したプログラム用のデータを主記憶から読み込み、また前記実行したプログラム用のデータを主記憶に書き込む処理を行なう。そして、コンピュータのプログラム毎の処理の実行単位であるプロセスがＯＳの管理下で並列に複数処理される。
【００３２】
【発明の効果】
以上説明したように、この発明によれば、プロセスＩＤ取得手段がプロセスＩＤ取得コマンドを実行してプロセス名とプロセスＩＤとを対応付けて記述したプロセス一覧を取得し、当該プロセス一覧から監視対象プロセス名記述ファイルに記述されているプロセス名に対応するプロセスＩＤを取得する。そしてファイル記述子取読み取り手段が、取得したプロセスＩＤに基づいてプロセス情報格納ファイルからファイル記述子を読み取り、ファイル記述子登録手段が、読み取ったファイル記述子をファイル記述子状態検出手段に登録する。また故障検出手段が、登録したファイル記述子の無効の通知をファイル記述子状態検出手段から受け付けて監視対象プロセスの故障を検出する。
これにより、ｐｓコマンドなどを何度も実行しなくてもプロセスの故障を検出することができる。また、監視対象プロセスが故障した時点でファイル記述子状態検出手段よりファイル記述子の無効が通知されるので、リアルタイムにプロセスの故障を検出することができる。
【００３３】
また本発明によれば、監視対象プロセスの起動コマンド名を記述した起動コマンド名記述ファイルと、無効の通知を受けた監視対象プロセスの起動コマンド名を起動コマンド名記述ファイルから読み取って、当該読み取った起動コマンド名に基づいて起動コマンドを実行する再起動手段とを備えることを特徴とする。
これにより、起動コマンド名を起動コマンド名記述ファイルに記述しておけば、故障した監視対象プロセスの再起動を直ちに行うことができる。
【００３４】
また本発明によれば、監視対象プロセス名記述ファイルが同一のプロセス名を複数記述し、プロセスＩＤ取得手段は複数の同一プロセス名に基づいて、プロセス名が同一となる複数の監視対象プロセスの各プロセスＩＤを取得することを特徴とする。これにより、プロセス名が同一の監視対象プロセスが複数起動される場合でも、プロセス名が同一の監視対象プロセスそれぞれの異なるプロセスＩＤを読みとるので、複数の同一プロセス名の各監視対象プロセスの故障を検出することが出来る。
【００３５】
また本発明によれば、監視対象プロセス名記述ファイルが監視対象プロセスの起動に用いる引数をプロセス名に対応付けて記述し、プロセスＩＤ取得手段は監視対象プロセスのプロセス名と引数とに基づいて、プロセス一覧からプロセスＩＤを取得することを特徴とする。これにより、同じ引数で起動された同一プロセス名の監視対象プロセスが複数ある場合でも、同一プロセス名の各監視対象プロセスの故障をそれぞれ検出することが出来る。
【図面の簡単な説明】
【図１】この発明の一実施形態による故障検出機能を備えたコンピュータのソフトウェア構成を示す概略ブロック図である。
【図２】本実施形態による監視プロセスがファイル記述子を取得する処理のイメージを示す図である。
【図３】本実施形態による監視プロセスが監視対象プロセスの故障を検出する際の処理のイメージを示す図である。
【図４】本実施形態による故障検出機能の処理フローを示す図である。
【符号の説明】
１  故障検出機能
１１  監視プロセス
１２  監視対象プロセス
１３  プロセス情報格納ファイル
１４  ファイル記述子状態検出プログラム
１５  監視対象プロセス記述ファイル
１０１  プロセスＩＤ取得手段
１０２  ファイル記述子読み取り手段
１０３  ファイル記述子登録手段
１０４  故障検出手段
１０５  プロセス強制終了手段
１０６  再起動手段
【図１】
2005078123.tif 000003
【図２】
2005078123.tif 000004
【図３】
2005078123.tif 000005
【図４】
2005078123.tif 000006