JPH1021096A - プロセスの異常終了検出方法 - Google Patents

プロセスの異常終了検出方法

Info

Publication number
JPH1021096A
JPH1021096A JP8192992A JP19299296A JPH1021096A JP H1021096 A JPH1021096 A JP H1021096A JP 8192992 A JP8192992 A JP 8192992A JP 19299296 A JP19299296 A JP 19299296A JP H1021096 A JPH1021096 A JP H1021096A
Authority
JP
Japan
Prior art keywords
managed
socket
management process
management
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8192992A
Other languages
English (en)
Inventor
Masaomi Okamoto
政臣 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP8192992A priority Critical patent/JPH1021096A/ja
Publication of JPH1021096A publication Critical patent/JPH1021096A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【解決手段】 管理プロセス1と被管理プロセス2と
は、ソケットインタフェース3により接続される。被管
理プロセス2が動作中は管理プロセス1によるソケット
インタフェース3の読み込みがブロックされる。一方、
被管理プロセス2が動作を終了するとソケットインタフ
ェース3はクローズされ、管理プロセス1はソケットイ
ンタフェース3の読み込みが可能になる。この読み込み
ができたとき、被管理プロセス2が動作を終了したと判
断する。 【効果】 プロセス間通信やコマンド等によって被管理
プロセス2の異常終了を検出する場合に比べて速やかに
簡単に動作の終了を検出できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、様々なプロセスの
動作異常終了を速やかに検出するためのプロセスの異常
終了検出方法に関する。
【0002】
【従来の技術】例えば、UNIXシステムにおいてマル
チタスクを実現する場合に、複数のプロセスの動作状態
をあるプロセスが監視し、一定の処理を実行するといっ
たことが行われる。ここで、これらのプロセスを管理す
るプロセスのことを管理プロセスと呼び、管理プロセス
によって状態を監視されるプロセスを被管理プロセスと
呼ぶことにする。各プロセスは、それぞれ任意の処理を
実行し、処理を終了するとプロセス間通信の手法によっ
て、管理プロセスに対しプロセス動作終了の通知を送
る。管理プロセスはこうして各プロセスの動作終了を検
知する。一方、ある被管理プロセスに何らかの障害が発
生して動作が停止した場合を考える。この場合に、障害
により異常終了したプロセスは同様の手順で終了通知を
行うことはできない。管理プロセスは被管理プロセスの
状態を監視しようとする場合に一定の監視用コマンドを
出力する。これによって、被制御装置が動作していない
ことを知ると、制御装置はコマンドを出力し個別にプロ
セスの状態を調べる。
【0003】
【発明が解決しようとする課題】ところで、上記のよう
な従来のプロセスの異常検出方法には次のような解決す
べき課題があった。管理プロセスが被管理プロセスの状
態を検出するために、被管理プロセスに対し適当なタイ
ミングで問合せ等を行っていると、実際に被管理プロセ
スに障害が発生してから、その障害の発生を管理プロセ
スが認識するまでの時間が長くなり、処理のタイミング
が遅れるという問題があった。
【0004】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉管理プロセスと被管理プロセスとの間を、被
管理プロセスの動作状態に応じて読み込みが許可される
ソケットインタフェースを介して接続し、管理プロセス
が所定のタイミングでソケットの読み込みを行って、ソ
ケットの読み込みができないときは被管理プロセスが動
作中と判断し、ソケットの読み込みができたときは被管
理プロセスの動作が終了したと判断することを特徴とす
るプロセスの終了検出方法。
【0005】〈説明〉管理プロセスは、任意の数の被管
理プロセスの動作を管理し、異常終了があればこれを検
出する。被管理プロセスとは、管理プロセスが動作終了
を検出する任意の対象をいう。ソケットは、被管理プロ
セスが動作中は、管理プロセスによる読み込みができ
ず、被管理プロセスの動作終了時、管理プロセスにより
読み込みが可能となるインタフェースである。所定のタ
イミングとは、管理プロセスによる該当する被管理プロ
セスの動作状態検出動作時をいい、定期でも不定期でも
よい。異常終了の場合には、プロセス終了時に被管理プ
ロセスから所定の終了通知が無い。従って、一般的な通
信手順によって被管理プロセスの異常終了を検出する場
合に比べて、この方法は、異常終了の速やかな検出に適
する。
【0006】〈構成2〉構成1において、管理プロセス
を、被管理プロセスとソケットインタフェースを介して
直接接続することができないときは、当該管理プロセス
をコピーして、被管理プロセスを取り込むモジュールを
生成して、そのモジュールと管理プロセスとをソケット
インタフェースを介して接続することを特徴とするプロ
セスの異常終了検出方法。
【0007】〈説明〉管理プロセスと被管理プロセスと
をソケットインタフェースを介して接続するには、被管
理プロセスがソケットインタフェースを接続できる構造
でなければならない。このような構造でない被管理プロ
セスに構成1を適用するために、管理プロセスをコピー
して、被管理プロセスを取り込むモジュールを仲介させ
る。このモジュールは、被管理プロセスをソケットに接
続した場合と同一の動作をする。こうして被管理プロセ
スに間接的に被管理プロセスをソケットインタフェース
を介して接続できる。
【0008】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 〈具体例〉図1は、本発明によるプロセスの異常終了検
出方法具体例を示す説明図である。このシステムは、例
えばUNIXシステム上で動作する多数のプロセスから
構成される。図に示す管理プロセス1は任意の数の被管
理プロセス2を管理する。即ち、被管理プロセス2の動
作の開始や終了状態を管理する。ここでは、説明の都合
上被管理プロセス2を1個だけ表示した。管理プロセス
1と被管理プロセス2とはソケット(インタフェース)
3により相互に接続されている。
【0009】このソケットインタフェースとは、プロセ
ス間通信手段の一種であるが、プロセスに対して仮想的
な通信用のソケットを与えて、そのソケット同士を論理
的につなぎ合わせたものである。こうして、プロセス間
のデータのやり取りを行う。実体はメモリ上に配置され
たデータである。なお、プロセス間通信を行うための手
段として、ソケットの他に更に簡単なパイプという手段
もある。本発明では、このパイプもソケットと同等のも
のとして、ソケットの概念に含まれるものとして説明を
行う。
【0010】本発明においては、このソケットをプロセ
ス間通信の手段として使用するのでなく、その性質を利
用して相手方のプロセスの状態を速やかに検出するため
に使用する。即ち、ここでは次のようなソケットの性質
を利用する。 1.ソケットは、相手方のプロセスの動作中には通常読
み込み不可能な状態になっており、もし読み込みを行う
とブロックしてしまう。一方、ソケットは相手方が書き
込みを行ったときと、相手方がクローズしたとき読み込
みが可能な状態になる。相手方が書き込みを行ってその
内容を読み込む場合には、プロセス間通信が実現する。 2.相手方がクローズした場合に読み込みを行うと、0
バイトのデータを読み込むことができる。即ち、相手方
が書き込みを行った場合とクローズされた場合とはいず
れも読み込みが可能な状態になる。 3.ソケットはプロセスの終了時、正常終了の場合と異
常終了の場合に関わらず自動的にクローズされる。ソケ
ットの代わりにパイプを使用したとしても同様の機能を
利用することになる。
【0011】図1を用いて、本発明によるプロセスの異
常終了検出方法の説明を行う。図に示すように、被管理
プロセス2がソケット3に対し何も書き込みを行ってい
ない場合には、管理プロセス1はソケット3の読み込み
をすることができない。従って、被管理プロセス2から
の通信が無くても、被管理プロセス2が動作中であると
判断できる。
【0012】ここで、被管理プロセス2が何らかの原因
で異常終了したとする。この場合には先に説明したよう
にソケット3が自動的にクローズされる。この場合、ソ
ケット3には何もメッセージは書き込まれていない。一
方、管理プロセス1は適当なタイミングでソケット3の
読み込みを行う。ソケット3がクローズされた後は読み
込みが可能となる。このとき、0バイトのデータを読み
込むことができる。管理プロセス1はこのように0バイ
トのデータを読み込んだことを認識すると、被管理プロ
セス2の終了を検出する。このようにすれば、被管理プ
ロセス2の正常終了も異常終了も速やかに検出すること
が可能になる。しかしながら、正常終了の場合には、通
常、終了メッセージ等のメッセージ通信が行われること
から必ずしもこのような監視を必要としない。従って、
本発明は特に、被管理プロセスが何の通知も無く動作を
終了するような異常終了検出に効果がある。
【0013】図2には、本発明の方法の動作フローチャ
ートを示す。まず、ステップS1において、管理プロセ
ス1はソケット3の読み込みを実行する。即ち、被管理
プロセス2の状態を検出したい場合、ソケットの読み込
み処理を実行する。そして、ステップS2において、そ
の読み込みが可能かどうかを判断する。読み込みができ
ない場合には、被管理プロセスが動作中であると判断す
る(ステップS3)。一方、ステップS2において、ソ
ケットの読み込みが可能であればステップS4に進み、
読み込んだデータの内容を点検する。読み込んだデータ
が0バイトであればステップS5からステップS6に移
り、先に説明した通り、被管理プロセスの動作が終了し
ていることを検出する。一方、ステップS5において、
読み込んだデータが0バイトでないと判断されると、そ
の内容がプロセス間通信のためのデータであると判断
し、所定のプロセス間通信処理を実行する(ステップS
7)。
【0014】以上のようにして、本発明では被管理プロ
セスの状態を知りたい場合、ソケットの読み込み処理に
よって、直ちに被管理プロセスが動作中か終了している
かを判断することができる。従って、管理プロセスは障
害に対する迅速な対応が可能となる。
【0015】図3は、比較例として障害検出遅れが発生
したケースの説明図を示す。例えば、従来の被管理プロ
セスの障害を割り込み通知等を待って検出するようにし
た場合には、この図に示すように、検出遅れ時間が無視
できない状態になることもある。ここでは、時刻t1に
障害が発生し、I/O割り込みにより管理プロセス1に
その状態が通知されたとする。管理プロセス1はその通
知を判断して時刻t2に障害検出処理を終了する。即
ち、被管理プロセスにおける障害発生からその通知を受
けて障害と判断するまでの検出時間遅れが生じる。ある
プロセスの異常終了は、多数のプロセスによって各種の
業務を実行している場合に多くの処理に影響を及ぼすか
ら、可能な限り速やかな検出が望ましい。図1や図2に
示した本発明の方法では、管理プロセスが希望するタイ
ミングで即座に該当する被管理プロセスの終了を検出で
きるという効果がある。
【0016】図4には、本発明の変形例として管理プロ
セスの複製による検出方法説明図を示す。例えば、管理
プロセスを提供するソフトウェアメーカーと、被管理プ
ロセスを提供するソフトウェアメーカーとが異なること
も少なくない。こうした場合、被管理プロセスと管理プ
ロセスとの間をソケットで接続する作業が容易でないこ
ともある。即ち、被管理プロセスの加工が容易でないこ
とがある。この図の例には、このような場合の対処方法
を示している。
【0017】まず、管理プロセス1が直接ソケットによ
り接続することのできない被管理プロセス2を管理する
場合を考える。このとき、初めにステップS1におい
て、FORKシステムコールという処理を実行する。こ
の処理は、管理プロセス1の複製プロセスを作成するシ
ステムコールである。これによって、ステップS2で管
理プロセスの複製4即ちコピーが生成される。次に、ス
テップS3では、管理プロセス1とその複製との間を接
続するソケットの作成処理を行う。ステップS4では複
製された管理プロセスの側でも同様にソケット作成処理
を行う。こうして、ステップS5に示すようにソケット
インタフェースが確立すると、今度は管理プロセスの複
製4の側でEXECシステムコールを実行する(ステッ
プS6)。このEXECシステムコールは自己のプロセ
スの領域に任意の実行ファイルを読み込むシステムコー
ルである。即ち、ここで管理プロセスの複製4の部分に
被管理プロセス2の実行ファイルをロードしてしまう。
こうして管理プロセスの複製4は被管理プロセス2と一
体化してその動作を実行する。なお、この場合、既に作
成したソケットはそのまま引き継がれている。従って、
被管理プロセス2を実行する部分を含む管理プロセスの
複製4は、動作を終了すると、ソケットをクローズす
る。その結果、既に説明した例と同様にして、管理プロ
セス1は、被管理プロセス2の動作終了あるいは異常終
了を検出することができる。
【0018】図5には、被管理プロセス以外のプロセス
終了検出動作説明図を示す。上記の例では、管理プロセ
スが予め管理対象とする被管理プロセスの動作を監視
し、その異常終了を検出した。しかしながら、必ずしも
予め設定した被管理プロセスのみならず各種のプロセス
について、その異常終了を監視することが可能になる。
本発明では、これらの各種のプロセスも被管理プロセス
に含めてしまっている。この図の例では、管理プロセス
1がGUI(グラフィカルユーザインタフェース)や他
のプロセス6を監視してその異常終了を検出する構成に
なっている。GUIはユーザが操作してユーザの意思を
プロセスに伝えるための端末装置等から構成される。G
UI5はソケット3−1を介して管理プロセス1に接続
される。他プロセス6はソケット3−2を介して管理プ
ロセス1に接続される。被管理プロセス2はソケット3
−3を介して管理プロセス1に接続される。
【0019】このように複数のソケット3−1,3−
2,3−3から入力するイベントを自由に選択して受け
付けるためにSELECTシステムコール7が設けられ
る。このSELECTシステムコール7はソケットやパ
イプ等の通信路の状態を検査するシステムコールであ
る。従って、管理プロセス1がSELECTシステムコ
ール7に対しある特定のソケット3−1の状態を検査す
るよう指示すればその状態が応答として返る。この状態
検査は、先に説明したようにソケットの読み取りにより
実行される。こうして、任意の数のプロセスやその他の
アプリケーションをソケットを介して管理プロセスに接
続し、それぞれの異常終了を即座に検出するシステムを
構築することができる。
【0020】以上により、UNIXシステム等におい
て、被管理アプリケーションに直接又は間接的にソケッ
トを接続して速やかな異常終了検出処理が可能となる。
【図面の簡単な説明】
【図1】本発明によるプロセスの異常終了検出方法説明
図である。
【図2】本発明の方法の動作フローチャートである。
【図3】障害検出遅れの説明図である。
【図4】管理プロセスの複製による検出動作説明図であ
る。
【図5】被管理プロセス以外のプロセス終了検出動作説
明図である。
【符号の説明】
1 管理プロセス 2 被管理プロセス 3 ソケット

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 管理プロセスと被管理プロセスとの間
    を、被管理プロセスの動作状態に応じて読み込みが許可
    されるソケットインタフェースを介して接続し、 管理プロセスが所定のタイミングでソケットの読み込み
    を行って、 ソケットの読み込みができないときは被管理プロセスが
    動作中と判断し、 ソケットの読み込みができたときは被管理プロセスの動
    作が終了したと判断することを特徴とするプロセスの終
    了検出方法。
  2. 【請求項2】 請求項1において、 管理プロセスを、被管理プロセスとソケットインタフェ
    ースを介して直接接続することができないときは、当該
    管理プロセスをコピーして、被管理プロセスを取り込む
    モジュールを生成して、そのモジュールと管理プロセス
    とをソケットインタフェースを介して接続することを特
    徴とするプロセスの異常終了検出方法。
JP8192992A 1996-07-03 1996-07-03 プロセスの異常終了検出方法 Pending JPH1021096A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8192992A JPH1021096A (ja) 1996-07-03 1996-07-03 プロセスの異常終了検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8192992A JPH1021096A (ja) 1996-07-03 1996-07-03 プロセスの異常終了検出方法

Publications (1)

Publication Number Publication Date
JPH1021096A true JPH1021096A (ja) 1998-01-23

Family

ID=16300431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8192992A Pending JPH1021096A (ja) 1996-07-03 1996-07-03 プロセスの異常終了検出方法

Country Status (1)

Country Link
JP (1) JPH1021096A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057095A (ja) * 1998-08-06 2000-02-25 Shikoku Nippon Denki Software Kk 通信処理方法及び通信処理システム
JP2014089603A (ja) * 2012-10-30 2014-05-15 Canon Electronics Inc 情報処理装置、プロセスの正常終了判定方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057095A (ja) * 1998-08-06 2000-02-25 Shikoku Nippon Denki Software Kk 通信処理方法及び通信処理システム
JP2014089603A (ja) * 2012-10-30 2014-05-15 Canon Electronics Inc 情報処理装置、プロセスの正常終了判定方法およびプログラム

Similar Documents

Publication Publication Date Title
US6928585B2 (en) Method for mutual computer process monitoring and restart
JP2001325150A (ja) アクセス監視装置及びアクセス監視方法
JPH1021096A (ja) プロセスの異常終了検出方法
JPH02294739A (ja) 障害検出方式
JPH08286779A (ja) アプリケーション自動再起動装置
JPS6146543A (ja) 転送装置の障害処理方式
JP7298694B2 (ja) 異常検出装置、制御方法、及びプログラム
JP3102381B2 (ja) タスクデバッグ装置、タスクデバッグ方法及びその記録媒体
CN116016497A (zh) 一种bios远程重定向方法、系统设备及介质
JP3647700B2 (ja) 装置の切り離しを通知する通知装置および方法
JP3439365B2 (ja) 転送制御システムのノード障害検出方法およびファイル転送時のノード障害検出方法
JPH0325534A (ja) 複合系計算機システムのプログラム異常処理方式
JP3278639B2 (ja) 障害発生時処理方式およびそのプログラム記録媒体
JPH1139032A (ja) マルチcpu型集中監視装置
JPS61224056A (ja) チヤネル障害検出処理方式
JPH05336111A (ja) Isdn障害切離し装置
JPS6367618A (ja) 停電時のバツテリサポ−ト方式
JP2000353104A (ja) データバックアップ方式及びその方法
JPH11212917A (ja) トランザクションリカバリ方式およびそのプログラム記録媒体
JPH0246048A (ja) 端末監視方式
JPH0814794B2 (ja) 割込み処理方法
JPH03242739A (ja) 障害解析情報収集方式
JPH0423139A (ja) 制御装置の障害処理方式
JP2000089969A (ja) データ処理装置
JPH04263334A (ja) 疎結合計算機システムにおける障害ホスト切り離し制御方式