(57)【要約】【課題】プロセスのロック状態の検出を自動で行なうことのできる機能を備えたロック状態検出装置を提供することを目的とする。【解決手段】正常性応答処理の実行指示に基づいて応答を行なう監視対象プロセスと、監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を受け付ける正常性確認コマンドと、正常性確認コマンドを実行し、当該正常性確認コマンドから通知される前記応答に基づいて、監視プロセスのロック状態を検出するロック状態検出プロセスとを備える。【選択図】  図１
2005078122.tif 000002
【特許請求の範囲】
【請求項１】
正常性応答処理の実行指示に基づいて応答を行なう監視対象プロセスと、
前記監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を受け付ける正常性確認コマンドと、
前記正常性確認コマンドを実行し、当該正常性確認コマンドから通知される前記応答に基づいて、前記監視プロセスのロック状態を検出するロック状態検出プロセスと、
を備えることを特徴とするロック状態検出装置。
【請求項２】
実行された前記正常性確認コマンドを強制終了するタイムアウトコマンドと、
前記監視対象プロセスを強制終了する終了コマンドと、
を備え、
前記ロック状態検出プロセスは前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合に前記タイムアウトコマンドを実行し、前記監視対象プロセスからの応答が異常である場合または前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合のいずれかの場合に前記終了コマンドを実行する
ことを特徴とする請求項１に記載のロック状態検出装置。
【請求項３】
監視対象プロセスのロック状態検出装置であって、
前記監視対象プロセスのＣＰＵ使用時間を取得し、当該ＣＰＵ使用時間が予め定められた閾値を超えているか否かに基づいて、前記監視対象プロセスのロック状態を検出するロック状態検出プロセス
を備えることを特徴とするロック状態検出装置。
【請求項４】
前記監視対象プロセスを強制終了する終了コマンドを備え、
前記ロック状態検出プロセスは、前記ＣＰＵ使用時間が前記閾値を超えている場合に前記終了コマンドを実行する
ことを特徴する請求項３に記載のロック状態検出装置。
【請求項５】
前記正常性確認コマンドは特定の前記監視対象プロセス用に用意されたコマンドであることを特徴とする請求項１から請求項４のいずれかに記載のロック状態検出装置。
【請求項６】
正常性応答処理の実行指示に基づいて応答を行なう監視対象プロセスのロック状態検出方法であって、
ロック状態検出プロセスが、正常性確認コマンドを実行する過程と、
正常性確認コマンドが、前記監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を受け付ける過程と、
前記ロック状態検出プロセスが、前記正常性確認コマンドから通知される前記応答に基づいて、前記監視プロセスのロック状態を検出する過程と、
を有することを特徴とするロック状態検出方法。
【請求項７】
前記ロック状態検出プロセスが、前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合に前記タイムアウトコマンドを実行し、前記監視対象プロセスからの応答が異常である場合または前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合のいずれかの場合に前記終了コマンドを実行する過程と、
前記タイムアウトコマンドが、実行された前記正常性確認コマンドを強制終了する過程と、
前記終了コマンドが、前記監視対象プロセスを強制終了する過程と、
を有することを特徴とする請求項６に記載のロック状態検出方法。
【請求項８】
監視対象プロセスのロック状態検出方法であって、
ロック状態検出プロセスが、前記監視対象プロセスのＣＰＵ使用時間を取得し、当該ＣＰＵ使用時間が予め定められた閾値を超えているか否かに基づいて、前記監視対象プロセスのロック状態を検出する過程
を有することを特徴とするロック状態検出方法。
【請求項９】
前記ロック状態検出プロセスが、前記ＣＰＵ使用時間が前記閾値を超えている場合に終了コマンドを実行する過程と、
前記終了コマンドが、前記監視対象プロセスを強制終了する過程と、
を有することを特徴する請求項８に記載のロック状態検出方法。
【請求項１０】
前記正常性確認コマンドは特定の前記監視対象プロセス用に用意されたコマンドであることを特徴とする請求項６から請求項９のいずれかに記載のロック状態検出方法。
【請求項１１】
監視対象プロセスのロック状態を検出するロック状態検出装置のコンピュータに実行させるプログラムであって、
ロック状態検出プロセスが、正常性確認コマンドを実行する過程と、
正常性確認コマンドが、前記監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を前記監視対象プロセスより受け付ける過程と、
前記ロック状態検出プロセスが、前記正常性確認コマンドから通知される前記応答に基づいて、前記監視プロセスのロック状態を検出する過程と、
の処理をコンピュータに実行させるプログラム。
【請求項１２】
前記ロック状態検出プロセスが、前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合に前記タイムアウトコマンドを実行し、前記監視対象プロセスからの応答が異常である場合または前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合のいずれかの場合に前記終了コマンドを実行する過程と、
前記タイムアウトコマンドの実行に基づいて、実行された前記正常性確認コマンドを強制終了する過程と、
前記終了コマンドの実行に基づいて、前記監視対象プロセスを強制終了する過程と、
の処理をコンピュータに実行させる請求項１１に記載のプログラム。
【請求項１３】
監視対象プロセスのロック状態を検出するロック状態検出装置のコンピュータに実行させるプログラムであって、
前記監視対象プロセスのＣＰＵ使用時間を取得し、当該ＣＰＵ使用時間が予め定められた閾値を超えているか否かに基づいて、前記監視対象プロセスのロック状態を検出する過程
の処理をコンピュータに実行させるプログラム。
【請求項１４】
前記ロック状態検出プロセスが、前記ＣＰＵ使用時間が前記閾値を超えている場合に終了コマンドを実行する過程と、
前記終了コマンドの実行に基づいて、前記監視対象プロセスを強制終了する過程と、
の処理をコンピュータに実行させる請求項１３に記載のプログラム。
【請求項１５】
特定の前記監視対象プロセス用に用意された前記正常性確認コマンドを実行させる請求項１１から請求項１４に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータシステムに係り、特に、ロック状態検出装置およびロック状態検出方法ならびにそのプログラムに関するものである。
【０００２】
【従来の技術】
従来、ＵＮＩＸ（登録商標）システム上で起動しているプロセスが正常に動作しているか否かを判断するためには、ＵＮＩＸ（登録商標）のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が備えているｐｓ（Ｒｅｐｏｒｔ  Ｐｒｏｃｅｓｓ  Ｓｔａｔｕｓ）コマンドを実行してプロセスが正常に動作しているかいなかを判断している（例えば、特許文献１参照）。また、他の方法では、例えばユーザがＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を利用してプロセスを操作するコマンドを実行し、当該コマンドの実行に応答するか否かによってプロセスが正常に動作しているかいないかを判断している。
【０００３】
【特許文献１】
特開平２００２−３４２１０７号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上述のｐｓコマンドによってプロセスが正常か否かを判断する方法では、プロセスがＵＮＩＸ（登録商標）システム上で起動されているか否かを調べるだけなので、起動しているプロセスが異常停止（以下、プロセスのロック状態と呼ぶ）してしまっている場合でも、ｐｓコマンドの結果にロック状態のプロセスが表示されてしまい、これにより、プロセスが正常に起動されていると判断できてしまう。したがってｐｓコマンドを用いる方法ではプロセスがロック状態であることを検出できないという問題がある。また、ユーザがロック状態のプロセスに対してコマンドを発行することでプロセスが正常か否かを判断する方法では、自動的にプロセスのロック状態を判断できないという問題がある。
そこでこの発明は、プロセスのロック状態の検出を自動で行なうことのできる機能を備えた、ロック状態検出装置およびロック状態検出方法ならびにそのプログラムを提供することを目的としている。
【０００５】
【課題を解決するための手段】
本発明は、上述の課題を解決すべくなされたもので、正常性応答処理の実行指示に基づいて応答を行なう監視対象プロセスと、前記監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を受け付ける正常性確認コマンドと、前記正常性確認コマンドを実行し、当該正常性確認コマンドから通知される前記応答に基づいて、前記監視プロセスのロック状態を検出するロック状態検出プロセスと、を備えることを特徴とするロック状態検出装置である。
【０００６】
上述の構成によれば、本発明は、監視対象プロセスが正常性応答処理の実行指示に基づいて応答を行ない、正常性確認コマンドが監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を受け付ける。そしてロック状態検出プロセスが、正常性確認コマンドを実行し、当該正常性確認コマンドから通知される前記応答に基づいて、監視プロセスのロック状態を検出する。これにより、監視対象プロセスがＵＮＩＸ（登録商標）システム上で起動されているか否かを調べるだけの方法であるｐｓコマンドの実行と比べて、正確に監視対象プロセスのロック状態を検出できる。
【０００７】
また本発明は、上述のロック状態検出装置が、実行された前記正常性確認コマンドを強制終了するタイムアウトコマンドと、前記監視対象プロセスを強制終了する終了コマンドとを備え、前記ロック状態検出プロセスは前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合に前記タイムアウトコマンドを実行し、前記監視対象プロセスからの応答が異常である場合または前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合のいずれかの場合に前記終了コマンドを実行することを特徴とする。
【０００８】
上述の構成によれば、本発明は、ロック状態検出プロセスが、正常性確認コマンドの実行から一定時間経過しても応答の通知がない場合にタイムアウトコマンドを実行し、監視対象プロセスからの応答が異常である場合または正常性確認コマンドの実行から一定時間経過しても応答の通知がない場合のいずれかの場合に終了コマンドを実行する。これにより、ユーザがわざわざ手動でｐｓコマンドを実行したり、ＧＵＩから監視対象プロセスを操作するコマンドなどを実行したりすることなく、自動で監視対象プロセスのロック状態を検出し、強制終了することが出来る。また、自動で監視対象プロセスのロック状態が検出できるので、ユーザはロック状態の監視対象プロセスを早期に発見し、プロセス再起動などのアクションをとることができるようになる。
【０００９】
また本発明は、監視対象プロセスのロック状態検出装置であって、前記監視対象プロセスのＣＰＵ使用時間を取得し、当該ＣＰＵ使用時間が予め定められた閾値を超えているか否かに基づいて、前記監視対象プロセスのロック状態を検出するロック状態検出プロセスを備えることを特徴とするロック状態検出装置である。これにより、ユーザがわざわざ手動でｐｓコマンドを実行したり、ＧＵＩから監視対象プロセスを操作するコマンドなどを実行したりすることなく、自動で監視対象プロセスのロック状態を検出することができる。また、自動で監視対象プロセスのロック状態が検出できるので、ユーザはロック状態の監視対象プロセスを早期に発見し、プロセス再起動などのアクションをとることができるようになる。
【００１０】
また本発明は、上述のロック状態検出装置が、前記監視対象プロセスを強制終了する終了コマンドを備え、前記ロック状態検出プロセスは、前記ＣＰＵ使用時間が前記閾値を超えている場合に前記終了コマンドを実行することを特徴する。これにより、監視対象プロセスがロック状態の場合には当該監視対象プロセスを自動で強制終了することが出来る。
【００１１】
また本発明は、上述のロック状態検出装置において、前記正常性確認コマンドが特定の前記監視対象プロセス用に用意されたコマンドであることを特徴とする。これにより、複数の監視対象プロセスに対して正常性応答処理の実行指示の処理を行なう正常性確認コマンドではなく、１つの特定の監視対象プロセスに対して正常性応答処理の実行指示の処理を行う正常性確認コマンドを作成すればよいので、ユーザは複数の監視対象プロセスに対して正常性応答処理の実行指示の処理を行なう正常性確認コマンドを作成するのに比べて、容易に当該正常性確認コマンドを作成することができる。
【００１２】
また本発明は、正常性応答処理の実行指示に基づいて応答を行なう監視対象プロセスのロック状態検出方法であって、ロック状態検出プロセスが、正常性確認コマンドを実行する過程と、正常性確認コマンドが、前記監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を受け付ける過程と、前記ロック状態検出プロセスが、前記正常性確認コマンドから通知される前記応答に基づいて、前記監視プロセスのロック状態を検出する過程とを有することを特徴とするロック状態検出方法である。
【００１３】
また本発明は、上述のロック状態検出方法であって、前記ロック状態検出プロセスが、前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合に前記タイムアウトコマンドを実行し、前記監視対象プロセスからの応答が異常である場合または前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合のいずれかの場合に前記終了コマンドを実行する過程と、前記タイムアウトコマンドが、実行された前記正常性確認コマンドを強制終了する過程と、前記終了コマンドが、前記監視対象プロセスを強制終了する過程とを有することを特徴とする。
【００１４】
また本発明は、監視対象プロセスのロック状態検出方法であって、ロック状態検出プロセスが、前記監視対象プロセスのＣＰＵ使用時間を取得し、当該ＣＰＵ使用時間が予め定められた閾値を超えているか否かに基づいて、前記監視対象プロセスのロック状態を検出する過程を有することを特徴とするロック状態検出方法である。
【００１５】
また本発明は、上述のロック状態検出方法であって、前記ロック状態検出プロセスが、前記ＣＰＵ使用時間が前記閾値を超えている場合に終了コマンドを実行する過程と、前記終了コマンドが、前記監視対象プロセスを強制終了する過程とを有することを特徴する。
【００１６】
また本発明は、上述のロック状態検出方法であって、前記正常性確認コマンドは特定の前記監視対象プロセス用に用意されたコマンドであることを特徴とする。
【００１７】
また本発明は、監視対象プロセスのロック状態を検出するロック状態検出装置のコンピュータに実行させるプログラムであって、ロック状態検出プロセスが、正常性確認コマンドを実行する過程と、正常性確認コマンドが、前記監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を前記監視対象プロセスより受け付ける過程と、前記ロック状態検出プロセスが、前記正常性確認コマンドから通知される前記応答に基づいて、前記監視プロセスのロック状態を検出する過程との処理をコンピュータに実行させるプログラムである。
【００１８】
また本発明は、前記ロック状態検出プロセスが、前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合に前記タイムアウトコマンドを実行し、前記監視対象プロセスからの応答が異常である場合または前記正常性確認コマンドの実行から一定時間経過しても前記応答の通知がない場合のいずれかの場合に前記終了コマンドを実行する過程と、前記タイムアウトコマンドの実行に基づいて、実行された前記正常性確認コマンドを強制終了する過程と、前記終了コマンドの実行に基づいて、前記監視対象プロセスを強制終了する過程との処理をコンピュータに実行させるプログラムである。
【００１９】
また本発明は、監視対象プロセスのロック状態を検出するロック状態検出装置のコンピュータに実行させるプログラムであって、前記監視対象プロセスのＣＰＵ使用時間を取得し、当該ＣＰＵ使用時間が予め定められた閾値を超えているか否かに基づいて、前記監視対象プロセスのロック状態を検出する過程の処理をコンピュータに実行させるプログラムである。
【００２０】
また本発明は、前記ロック状態検出プロセスが、前記ＣＰＵ使用時間が前記閾値を超えている場合に終了コマンドを実行する過程と、前記終了コマンドの実行に基づいて、前記監視対象プロセスを強制終了する過程との処理をコンピュータに実行させるプログラムである。
【００２１】
また本発明は、特定の前記監視対象プロセス用に用意された前記正常性確認コマンドを実行させるプログラムである。
【００２２】
【発明の実施の形態】
以下、本発明の一実施形態によるロック状態検出装置を図面を参照して説明する。
図１は、この発明の一実施形態によるロック状態検出装置の構成を示す概略ブロック図である。この図において符号１はＯＳとしてＵＮＩＸ（登録商標）システムを採用したロック状態検出装置である。また、符号１１は監視対象プロセスがロック状態か否かを検出するロック状態検出プロセスである。また符号１２は監視対象プロセスである。また符号１３は監視対象プロセス１２のプロセス名などが記述されているプロセス名ファイルである。
【００２３】
また１４は監視対象プロセス１２の正常性を確認するためのロック状態検出プロセス１１の動作が記述されている正常性確認シェル（正常性確認コマンド）であり、この正常性確認シェル１４の記述の中にはプロセスのロック状態の判断が可能となるコマンドが含まれる。また１５は監視対象プロセス１２からの正常性確認応答に対応する応答が一定時間ない場合に正常性確認シェル１４の処理を停止するためのロック状態検出プロセス１１の動作が記述されているタイムアウトシェル（タイムアウトコマンド）であり、このタイムアウトシェル１５の記述の中にはロック状態となったプロセスを強制終了させるコマンドが含まれる。また１６はロック状態の監視対象プロセス１２を強制終了するためのロック状態検出プロセス１１の動作が記述されている終了シェル（終了コマンド）であり、この終了シェル１６の記述の中にはロック状態となった監視対象プロセス１２を強制終了させるコマンドが含まれる。また１７は監視対象プロセス１２のプロセスＩＤやＣＰＵ使用時間などを格納するプロセス情報格納ファイルである。またこのプロセス情報格納ファイルは監視対象プロセス１２ごとに作成されてロック状態検出装置１が記憶している。そして、上述の正常性確認シェル１４とタイムアウトシェル１５と終了シェル１６は、１つの監視対象プロセス１２に対して各１つずつ作成される。また上述のシェルとはシェルスクリプトのことである。また上述のロック状態とは、ｐｓコマンドを実行する事により得られる情報（プロセスＩＤなどの情報）では判断できないプロセスの異常状態であり、また、監視対象プロセス１２の動作がユーザの期待する動作を行なわない状態のことを言う。
【００２４】
なお、ロック状態検出プロセス１１は、正常性確認シェル１４を実行してその応答により監視対象プロセス１２がロック状態であるか否かを検出し、ロック状態である場合にはタイムアウトシェル１５や終了シェル１６を実行して監視対象プロセス１２の強制終了を行なう。また、監視対象プロセス１２は正常性確認シェル１４からの正常性応答処理の実行指示に基づいて、正常か異常かの応答を通知する応答手段を備えている。またロック状態検出プロセス１１は、監視対象プロセス１２のプロセス情報格納ファイル１７に記述されているＣＰＵ使用時間を取得し、当該ＣＰＵ使用時間が予め定められた閾値を超えているか否かに基づいて、監視対象プロセス１２のロック状態を検出する。
【００２５】
図２はプロセス名ファイルに記述されているデータ内容を示す図である。この図が示すように、プロセス名ファイル１３には、通番、実行周期、確認種別、プロセス情報確認種別、リトライ回数、タイムアウト時間（一定時間）、正常性確認シェル名、タイムアウトシェル名、終了シェル名、監視対象プロセス削除種別、監視対象プロセス名、ＣＰＵ時間最大値などが記述されている。
ここで、実行周期とはロック状態検出プロセス１１が正常性確認シェル１４を実行する周期である。また確認種別とは監視対象が、プロセスかまたはコマンドかを示す情報である。またプロセス情報確認種別は監視対象プロセス１２のロック状態を判定する手法を示す情報であり、プロセス情報確認種別が「ＣＰＵ時間監視」の場合にはロック状態検出プロセス１１は監視対象プロセス１２のＣＰＵの使用時間に基づいてロック状態を検出し、プロセス情報確認種別が「正常性確認シェルの実行」の場合にはロック状態検出プロセス１１は正常性確認シェル１４の実行を実行することにより監視対象プロセス１２から通知される応答に基づいて基づいてロック状態を検出し、プロセス情報確認種別が「ＡＬＬ」の場合には、ロック状態検出プロセス１１は「ＣＰＵ時間監視」と「正常性確認シェルの実行」の両方の手法に基づいて監視対象プロセス１２のロック状態の検出を行なう。
【００２６】
次に、監視対象プロセスが正常である場合のロック状態検出装置の処理について説明する。図３は監視対象プロセスが正常である場合のロック状態検出装置の処理を示す図である。
まず、ロック状態検出プロセス１１は、プロセス名ファイル１３に記述された監視対象プロセス１２のプロセス名、正常性確認シェル名とタイムアウトシェル名と終了シェル名、正常性確認シェルを実行する周期、正常性確認シェル実行に対応する応答のタイムアウト時間などを読み出す。次にロック状態検出プロセス１１は、プロセス名ファイル１３から読み出した監視対象プロセス１２のプロセス名に基づいて、例えばｐｓコマンドなどを用いてプロセスＩＤを取得する。
【００２７】
次に、ロック状態検出プロセス１１はプロセス名ファイル１３から取得したプロセスの確認種別に基づいて、ＣＰＵ時間に基づいた監視対象プロセス１２のロック状態の検出か、正常性確認シェル１４の実行による監視対象プロセス１２のロック状態の検出かを判定する。ここでプロセスの確認種別が「正常性確認シェルの実行」を示す場合には、ロック状態検出プロセス１１は、取得したプロセスＩＤとプロセス名ファイル１３から読み出した正常性確認シェル名とを用いて、正常性確認シェル１４を実行し（ステップＳ３０１）、監視対象のプロセス１２が正常か否かを確認する。ここで、ロック状態検出プロセス１１は正常性確認シェルの実行に対応する応答が通知されるまでの時間を計測するタイムアウト計測プロセスを起動するために、タイムアウト計測プロセスが保持する応答フラグをＯＮにし、またタイムアウト計測プロセスにタイムアウト時間を通知する。すると、タイムアウト計測プロセスが起動し、これによりロック状態検出プロセス１１は、プロセス名ファイル１３から読み出したタイムアウト時間を計測するようタイムアウト計測プロセスに指示する。
【００２８】
次に、正常性確認シェル１４が、監視対象プロセス１２に対して正常性応答処理の実行を指示する（ステップＳ３０２）。すると監視対象プロセス１２は、正常であれば正常応答を正常性確認シェル１４へ行なう（ステップＳ３０３）。そして正常性確認シェル１４は、受け付けた正常応答をロック状態検出プロセス１１へ通知する（ステップＳ３０４）。次に、ロック状態検出プロセス１１は正常応答の通知を受けると、タイムアウト計測プロセスからタイムアウトの通知がなければ（正常応答の通知がタイムアウト時間内の通知であれば）、正常応答を判断し（ステップＳ３０５）、プロセス名ファイル１３から読み取った正常性確認シェルの実行の周期ごとに正常性確認シェルの実行を行なう（ステップＳ３０６）。そして、正常性確認シェル１４は監視対象プロセス１２に対して再度の正常性応答処理の実行を行なう（ステップＳ３０７）。なお、監視対象プロセス１２が正常性応答処理の実行に対応する応答手段を備えていない場合には、終了シェル１６はＫｉｌｌコマンドを発行して監視対象プロセス１２をを終了させるようにしてもよい。
【００２９】
次に監視対象プロセスがロック状態の場合のロック状態検出装置の処理について説明する。図４は監視対象プロセスがロック状態の場合のロック状態検出装置の処理を示す図である。
まず、ロック状態検出プロセス１１は、プロセス名ファイル１３に記述された監視対象プロセス１２のプロセス名、正常性確認シェル名とタイムアウトシェル名と終了シェル名、正常性確認シェルを実行する周期、正常性確認シェル実行に対応する応答のタイムアウト時間などを読み出す。次にロック状態検出プロセス１１は、プロセス名ファイル１３から読み出した監視対象プロセス１２のプロセス名に基づいて、例えばｐｓコマンドなどを用いてプロセスＩＤを取得する。
【００３０】
次に、ロック状態検出プロセス１１はプロセス名ファイル１３から取得したプロセスの確認種別に基づいて、ＣＰＵ時間に基づいた監視対象プロセス１２のロック状態の検出か、正常性確認シェル１４の実行による監視対象プロセス１２のロック状態の検出かを判定する。ここでプロセスの確認種別が「正常性確認シェルの実行」を示す場合には、ロック状態検出プロセス１１は、取得したプロセスＩＤとプロセス名ファイル１３から読み出した正常性確認シェル名とを用いて、正常性確認シェル１４を実行し（ステップＳ４０１）、監視対象のプロセス１２が正常か否かを確認する。ここで、ロック状態検出プロセス１１は正常性確認シェルの実行に対応する応答が通知されるまでの時間を計測するタイムアウト計測プロセスを起動するために、タイムアウト計測プロセスが保持する応答フラグをＯＮにし、またタイムアウト計測プロセスにタイムアウト時間を通知する。すると、タイムアウト計測プロセスが起動し、これによりロック状態検出プロセス１１は、プロセス名ファイル１３から読み出したタイムアウト時間を計測するようタイムアウト計測プロセスに指示する。
【００３１】
次に、正常性確認シェルが、監視対象プロセス１２に対して正常性応答処理の実行を指示する（ステップＳ４０２）。すると監視対象プロセス１２は、、ロック状態である場合、異常応答を正常性確認シェル１４へ行なう（ステップＳ４０３）。そして、正常性確認シェル１４は受け付けた異常応答をロック状態検出プロセス１１へ通知する（ステップＳ４０４）。次に、ロック状態検出プロセス１１は異常応答の通知を受けると、タイムアウト計測プロセスからタイムアウトの通知がなければ（正常応答の通知がタイムアウト時間内の通知であれば）、異常応答を判断し（ステップＳ４０５）、終了シェル１６を実行する（ステップＳ４０６）。そして、終了シェル１６が監視対象プロセス１２を強制終了させる（ステップＳ４０７）。なお、監視対象プロセス１２が正常性応答処理の実行に対応する応答手段を備えていない場合には、終了シェル１６はＫｉｌｌコマンドを発行して監視対象プロセス１２をを終了させるようにしてもよい。
【００３２】
次に正常性確認シェルの実行に対応する監視対象プロセスからの応答がない場合のロック状態検出装置の処理について説明する。図５は監視対象プロセスからの応答がない場合のロック状態検出装置の処理を示す図である。
まず、ロック状態検出プロセス１１は、プロセス名ファイル１３に記述された監視対象プロセス１２のプロセス名、正常性確認シェル名とタイムアウトシェル名と終了シェル名、正常性確認シェルを実行する周期、正常性確認シェル実行に対応する応答のタイムアウト時間などを読み出す。次にロック状態検出プロセス１１は、プロセス名ファイル１３から読み出した監視対象プロセス１２のプロセス名に基づいて、例えばｐｓコマンドなどを用いてプロセスＩＤを取得する。
【００３３】
次に、ロック状態検出プロセス１１はプロセス名ファイル１３から取得したプロセスの確認種別に基づいて、ＣＰＵ時間に基づいた監視対象プロセス１２のロック状態の検出か、正常性確認シェル１４の実行による監視対象プロセス１２のロック状態の検出かを判定する。ここでプロセスの確認種別が「正常性確認シェルの実行」を示す場合には、ロック状態検出プロセス１１は、取得したプロセスＩＤとプロセス名ファイル１３から読み出した正常性確認シェル名とを用いて、正常性確認シェル１４を実行し（ステップＳ５０１）、監視対象のプロセス１２が正常か否かを確認する。ここで、ロック状態検出プロセス１１は正常性確認シェルの実行に対応する応答が通知されるまでの時間を計測するタイムアウト計測プロセスを起動するために、タイムアウト計測プロセスが保持する応答フラグをＯＮにし、またタイムアウト計測プロセスにタイムアウト時間を通知する。すると、タイムアウト計測プロセスが起動し、これによりロック状態検出プロセス１１は、プロセス名ファイル１３から読み出したタイムアウト時間を計測するようタイムアウト計測プロセスに指示する。
【００３４】
次に、正常性確認シェルが、監視対象プロセス１２に対して正常性応答処理の実行を指示する（ステップＳ５０２）。ここで、監視対象プロセス１２からの応答が来ない状態が続くと、タイムアウト計測プロセスはタイムアウト時間の経過を判断し、応答フラグをＯＦＦに書き換える。そして、タイムアウト計測プロセスは応答フラグがＯＦＦであることを確認すると、ロック状態検出プロセス１１に対してタイムアウト時間が経過したことを通知するシグナルを発行する（ステップＳ５０３）。次に、ロック状態検出プロセス１１はタイムアウト時間が経過したことを通知するシグナルを受け取ると、プロセス名ファイル１３から読み出したタイムアウトシェル１５を実行する（ステップＳ５０４）。するとタイムアウトシェル１５は正常性確認シェルを強制終了する（ステップＳ５０５）。そしてタイムアウトシェル１５は正常性確認シェルを強制終了するとロック状態検出プロセス１１へ強制終了が完了した旨の通知を行なう（ステップＳ５０６）。そしてロック状態検出プロセス１１はプロセス名ファイル１３から読み出した終了シェル１６を実行し（ステップＳ５０７）、終了シェル１６が監視対象プロセス１２を強制終了させる（ステップＳ５０８）。なお、監視対象プロセス１２が正常性応答処理の実行に対応する応答手段を備えていない場合には、終了シェル１６はＫｉｌｌコマンドを発行して監視対象プロセス１２を終了させるようにしてもよい。
【００３５】
次に監視対象プロセスのＣＰＵ使用時間に基づいて、監視対象プロセスがロック状態か否かを判定する際のロック状態検出装置の処理について説明する。図６は監視対象プロセスのＣＰＵ使用時間に基づいてロック状態を判定する際のロック状態検出装置の処理を示す図である。
まず、ロック状態検出プロセス１１は、プロセス名ファイル１３に記述された監視対象プロセス１２のプロセス名、正常性確認シェル名とタイムアウトシェル名と終了シェル名、正常性確認シェルを実行する周期、正常性確認シェル実行に対応する応答のタイムアウト時間、プロセスの確認種別、ＣＰＵ使用時間最大値（閾値）を読み出す。次にロック状態検出プロセス１１は、プロセス名ファイル１３から読み出した監視対象プロセス１２のプロセス名に基づいて、ｐｓコマンドを用いて監視対象プロセス１２のプロセスＩＤを取得する（ステップＳ６０１）。
【００３６】
次に、ロック状態検出プロセス１１はプロセス名ファイル１３から取得したプロセスの確認種別に基づいて、ＣＰＵ時間に基づいた監視対象プロセス１２のロック状態の検出か、正常性確認シェル１４の実行による監視対象プロセス１２のロック状態の検出かを判定する（ステップＳ６０２）。ここでプロセスの確認種別が「ＣＰＵ時間監視」を示す場合には、ロック状態検出プロセス１１は、ＣＰＵ時間に基づいた監視対象プロセス１２のロック状態の検出を行なうにあたり、ステップＳ６０１において取得したプロセスＩＤが記述されているプロセス情報格納ファイル１７を確認する。そして当該プロセス情報格納ファイル１７に記述されている監視対象プロセス１２のＣＰＵ使用時間の合計を一定時間おきに確認する。そしてロック状態検出プロセス１１は、２回のＣＰＵ使用時間の合計の確認でそれぞれＣＰＵ使用時間の合計を取得し、当該ＣＰＵ使用時間の合計の差（ＣＰＵ使用時間の合計を確認してから次にＣＰＵ使用時間の合計を確認するまでの間に増加したＣＰＵ使用時間の合計）を算出する。
【００３７】
そして算出したＣＰＵ使用時間の差とプロセス名ファイル１３から読み取ったＣＰＵ使用時間最大値とを比較する。そしてロック状態検出プロセス１１は、算出したＣＰＵ使用時間の差がＣＰＵ使用時間最大値を超えている場合には、プロセス名ファイル１３から読み出した終了シェル１６を実行し（ステップＳ６０３）、終了シェル１６が監視対象プロセス１２を強制終了させる。
【００３８】
なお、上述のロック状態検出装置は内部に、コンピュータシステムを有している。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上述のプロセスとはプログラムのＯＳの管理下での実行単位のことである。そして、ロック状態検出装置のコンピュータの処理において、主記憶がハードディスクなどの記録媒体に記録されたプログラムを読み取って記憶し、ＣＰＵが主記憶の記憶するプログラムを実行する。またＣＰＵは当該実行したプログラム用のデータを主記憶から読み込み、また前記実行したプログラム用のデータを主記憶に書き込む処理を行なう。そして、コンピュータのプログラム毎の処理の実行単位であるプロセスがＯＳの管理下で並列に複数処理される。
【００３９】
【発明の効果】
本発明によれば、監視対象プロセスが正常性応答処理の実行指示に基づいて応答を行ない、正常性確認コマンドが監視対象プロセスに正常性応答処理の実行指示を行ない、その応答を受け付ける。そしてロック状態検出プロセスが、正常性確認コマンドを実行し、当該正常性確認コマンドから通知される前記応答に基づいて、監視プロセスのロック状態を検出する。これにより、監視対象プロセスがＵＮＩＸ（登録商標）システム上で起動されているか否かを調べるだけの方法であるｐｓコマンドの実行と比べて、正確に監視対象プロセスのロック状態を検出できる。
【００４０】
また本発明によれば、ロック状態検出プロセスが、正常性確認コマンドの実行から一定時間経過しても応答の通知がない場合にタイムアウトコマンドを実行し、監視対象プロセスからの応答が異常である場合または正常性確認コマンドの実行から一定時間経過しても応答の通知がない場合のいずれかの場合に終了コマンドを実行する。これにより、ユーザがわざわざ手動でｐｓコマンドを実行したり、ＧＵＩから監視対象プロセスを操作するコマンドなどを実行したりすることなく、自動で監視対象プロセスのロック状態を検出し、強制終了することが出来る。また、自動で監視対象プロセスのロック状態が検出できるので、ユーザはロック状態の監視対象プロセスを早期に発見し、プロセス再起動などのアクションをとることができるようになる。
【００４１】
また本発明によれば、監視対象プロセスのＣＰＵ使用時間を取得し、当該ＣＰＵ使用時間が予め定められた閾値を超えているか否かに基づいて、監視対象プロセスのロック状態を検出するロック状態検出プロセスを備えることを特徴とするロック状態検出装置である。これにより、ユーザがわざわざ手動でｐｓコマンドを実行したり、ＧＵＩから監視対象プロセスを操作するコマンドなどを実行したりすることなく、自動で監視対象プロセスのロック状態を検出することができる。また、自動で監視対象プロセスのロック状態が検出できるので、ユーザはロック状態の監視対象プロセスを早期に発見し、プロセス再起動などのアクションをとることができるようになる。
【００４２】
また本発明は、上述のロック状態検出装置が、監視対象プロセスを強制終了する終了コマンドを備え、ロック状態検出プロセスは、ＣＰＵ使用時間が閾値を超えている場合に終了コマンドを実行することを特徴する。これにより、監視対象プロセスがロック状態の場合には当該監視対象プロセスを自動で強制終了することが出来る。
【００４３】
また本発明は、上述のロック状態検出装置において、前記正常性確認コマンドが特定の前記監視対象プロセス用に用意されたコマンドであることを特徴とする。これにより、複数の監視対象プロセスに対して正常性応答処理の実行指示の処理を行なう正常性確認コマンドではなく、１つの特定の監視対象プロセスに対して正常性応答処理の実行指示の処理を行う正常性確認コマンドを作成すればよいので、ユーザは複数の監視対象プロセスに対して正常性応答処理の実行指示の処理を行なう正常性確認コマンドを作成するのに比べて、容易に当該正常性確認コマンドを作成することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態によるロック状態検出装置の構成を示す概略ブロック図である。
【図２】本発明の実施形態による、プロセス名ファイルに記述されているデータ内容を示す図である。
【図３】本発明の実施形態による、監視対象プロセスが正常である場合のロック状態検出装置の処理を示す図である。
【図４】本発明の実施形態による、監視対象プロセスがロック状態の場合のロック状態検出装置の処理を示す図である。
【図５】本発明の実施形態による、監視対象プロセスからの応答がない場合のロック状態検出装置の処理を示す図である。
【図６】本発明の実施形態による、監視対象プロセスのＣＰＵ使用時間に基づいてロック状態を判定する際のロック状態検出装置の処理を示す図である。
【符号の説明】
１  ロック状態検出装置
１１  ロック状態検出プロセス
１２  監視対象プロセス
１３  プロセス名ファイル
１４  正常性確認シェル
１５  タイムアウトシェル
１６  終了シェル
１７  プロセス情報格納ファイル
【図１】
2005078122.tif 000003
【図２】
2005078122.tif 000004
【図３】
2005078122.tif 000005
【図４】
2005078122.tif 000006
【図５】
2005078122.tif 000007
【図６】
2005078122.tif 000008