JP3049010B2 - 親子関係疑似継続装置および方法 - Google Patents

親子関係疑似継続装置および方法

Info

Publication number
JP3049010B2
JP3049010B2 JP10175727A JP17572798A JP3049010B2 JP 3049010 B2 JP3049010 B2 JP 3049010B2 JP 10175727 A JP10175727 A JP 10175727A JP 17572798 A JP17572798 A JP 17572798A JP 3049010 B2 JP3049010 B2 JP 3049010B2
Authority
JP
Japan
Prior art keywords
unit
parent
child
monitoring
information table
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.)
Expired - Fee Related
Application number
JP10175727A
Other languages
English (en)
Other versions
JP2000010795A (ja
Inventor
英一 富田
Original Assignee
日本電気ソフトウェア株式会社
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 日本電気ソフトウェア株式会社 filed Critical 日本電気ソフトウェア株式会社
Priority to JP10175727A priority Critical patent/JP3049010B2/ja
Publication of JP2000010795A publication Critical patent/JP2000010795A/ja
Application granted granted Critical
Publication of JP3049010B2 publication Critical patent/JP3049010B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセスの管理装
置および方法に関し、特に、親プロセスが異常停止した
際に、再起動された親プロセスと異常停止する前に親プ
ロセスが起動していた子プロセスとの間に親子関係を継
続させる親子関係疑似継続装置および方法に関する。
【0002】
【従来の技術】複数のプロセスが集まり1つのシステム
あるいは機能を形成している場合、通常、複数のプロセ
スの間には上下関係が存在する。上位プロセスは親プロ
セスと呼ばれ、上位プロセスから実行された下位プロセ
スは子プロセスと呼ばれ、上位プロセスと下位プロセス
の関係は親子関係と呼ばれている。
【0003】プロセスは、プロセス名を指定してOS
(オペレーティングシステム)に起動要求を行うことに
より、起動される。プロセス起動時にOSによりプロセ
ス識別番号(以後、プロセスIDと呼ぶ)が付与され
る。親プロセスが子プロセスを起動したとき、親プロセ
スは子プロセスのプロセスIDを知ることができ、子プ
ロセスは自分を起動した親プロセスのプロセスIDを知
ることができる。プロセスは、他のプロセスと相手のプ
ロセスIDを指定して情報(シグナル)のやり取りを行
うことができる。子プロセスが停止する場合、子プロセ
スは親プロセスに対してシグナル(停止イベント情報)
を送信する。
【0004】例えば、親プロセスが子プロセスを起動し
ていたときに、子プロセスの中の1つが停止した場合、
親プロセスは子プロセスからの停止シグナルを受信する
ことで子プロセスが停止したことを知り、停止した子プ
ロセスを再起動することで、システムとしての機能実行
を継続する。このように、親プロセスは子プロセスを監
視し、万が一、子プロセスが何らかの障害・異常による
停止をした場合、子プロセスの再起動を行い機能の回復
を図っている。
【0005】一方、親プロセスが異常停止してしまった
場合、再度新しく親プロセスを起動するが、新しく起動
された親プロセスのプロセスIDは異常停止する前の親
プロセスのプロセスIDと異なるため、子プロセスは新
しい親プロセスにシグナルを送信することができない。
子プロセスは異常停止する前の親プロセスのプロセスI
Dでシグナルを送信するために、受け手の親プロセスが
いなく、OSが受け取り異常処置を行い、子プロセスは
異常停止してしまう。
【0006】
【発明が解決しようとする課題】上記の従来の方法で
は、親プロセスが異常停止して再度新しく親プロセスを
起動した場合に、異常停止する前の親プロセスが起動し
た子プロセスとの間に親子関係が維持できていないた
め、子プロセスに何らかの障害・異常が発生し子プロセ
スが停止する場合、子プロセスは新しい親プロセスにシ
グナルを送信することができない。このため、新しい親
プロセスは子プロセスが停止したことを認識できなく、
停止した子プロセスを再起動することができないという
問題点がある。
【0007】本発明の目的は、親プロセスが異常停止し
て再度新しく親プロセスを起動した場合に、異常停止す
る前の親プロセスが起動していた子プロセスと新たに起
動された親プロセスとの間に親子関係が継続しているよ
うに見せる手段を提供し、システムでの親子関係を外見
上継続させることにある。
【0008】
【課題を解決するための手段】本願第1の発明の親子関
係疑似継続装置は、親プロセス起動部、親プロセス部、
複数の子プロセス部、プロセス情報テーブル、および監
視プロセス部を有し、前記親プロセス部は、前記親プロ
セス起動部により起動され、親プロセス部としての処理
を実行する処理部と、前記子プロセス部および前記監視
プロセス部からのシグナルを受信するシグナル受信部
と、前記子プロセス部および前記監視プロセス部にシグ
ナルを送信するシグナル送信部と、前記処理部の指示に
より前記子プロセス部を起動し前記プロセス情報テーブ
ルに子プロセス部の情報を登録する子プロセス起動部
と、前記監視プロセス部を起動する必要があるか否かを
前記プロセス情報テーブルを調べ判断する監視プロセス
起動判断部と、前記監視プロセス起動判断部の判断を基
に監視プロセス部を起動する監視プロセス起動部と、前
記プロセス情報テーブルを管理するプロセス情報テーブ
ル管理部と、前記監視プロセス部からの情報に基づき異
常停止した子プロセス部を再起動する子プロセス再起動
部とを含み、前記子プロセス部は、前記子プロセス起動
部により起動され、子プロセス部としての処理を実行す
る処理部と、前記親プロセス部からのシグナルを受信す
るシグナル受信部と、前記親プロセス部にシグナルを送
信するシグナル送信部とを含み、前記監視プロセス部
は、前記監視プロセス起動部により起動され、監視プロ
セス部としての処理を実行する処理部と、前記親プロセ
ス部からのシグナルを受信するシグナル受信部と、前記
親プロセス部にシグナルを送信するシグナル送信部と、
前記プロセス情報テーブルを管理するプロセス情報テー
ブル管理部とを含む。
【0009】本願第2の発明の親子関係疑似継続方法
は、親プロセス部が異常停止し親プロセス起動手段によ
り再起動され異常停止する前の親プロセス部が起動した
子プロセス部との間に親子関係を修復継続する方法であ
って、再起動された前記親プロセス部は、監視プロセス
起動判断手段により子プロセス情報が登録されているプ
ロセス情報テーブルを調べ、前記プロセス情報テーブル
の「子プロセスを起動した親プロセスID」が自分のプ
ロセスIDと異なっている子プロセス部が存在するとき
に監視プロセス起動手段により監視プロセス部を起動
し、前記監視プロセス部は、前記親プロセス部のプロセ
スIDと異なっている前記子プロセス部に対して前記プ
ロセス情報テーブルの「子プロセスID」と「子プロセ
ス名」を基に定期的に存在確認を行い、前記子プロセス
部が異常停止しているのを検出した場合に異常停止した
子プロセス部の情報を前記プロセス情報テーブルからク
リアし、シグナル送信手段を介して前記親プロセス部に
シグナルを送信し、前記親プロセス部は、前記監視プロ
セス部からのシグナルをシグナル受信手段により受信
し、プロセス情報テーブル管理手段を介して前記プロセ
ス情報テーブルの中でクリアされている前記子プロセス
部を認識した上で、子プロセス再起動手段により異常停
止した子プロセス部の再起動を行い、再起動を行った子
プロセス部の情報を前記プロセス情報テーブルに登録
し、前記監視プロセス部は、前記プロセス情報テーブル
から「子プロセスを起動した親プロセスID」が前記親
プロセス部のプロセスIDと異なっている子プロセス部
が存在しなくなるまで、前記と同様の処理を続け、前記
プロセス情報テーブルの「子プロセスを起動した親プロ
セスID」が前記親プロセス部のプロセスIDと異なっ
ている子プロセス部が存在しなくなったところで親子関
係が修復継続されたとみなすことを特徴とする。
【0010】本願第3の発明の親子関係疑似継続装置
は、親プロセス起動部、親プロセス部、複数の子プロセ
ス部、プロセス情報テーブル、および監視プロセス部を
有し、前記親プロセス部は、前記親プロセス起動部によ
り起動され、親プロセス部としての処理を実行する処理
部と、前記子プロセス部および監視プロセス部からのシ
グナルを受信するシグナル受信部と、前記子プロセス部
および監視プロセス部にシグナルを送信するシグナル送
信部と、前記処理部の指示により前記子プロセス部を起
動し前記プロセス情報テーブルに子プロセス部の情報を
登録する子プロセス起動部と、前記監視プロセス部を起
動する必要があるか否かを前記プロセス情報テーブルを
調べ判断する監視プロセス起動判断部と、前記監視プロ
セス起動判断部の判断を基に監視プロセス部を起動する
監視プロセス起動部と、前記プロセス情報テーブルを管
理するプロセス情報テーブル管理部とを含み、前記子プ
ロセス部は、前記子プロセス起動部により起動され、子
プロセス部としての処理を実行する処理部と、前記親プ
ロセス部および監視プロセス部からのシグナルを受信す
るシグナル受信部と、前記親プロセス部および監視プロ
セス部にシグナルを送信するシグナル送信部と、前記監
視プロセス部から親プロセスIDおよび監視プロセスI
Dを通知され親プロセスIDで自分が管理している親プ
ロセスIDを置換する親プロセスID置換部とを含み、
前記監視プロセス部は、前記監視プロセス起動部により
起動され、監視プロセスとしての処理を実行する処理部
と、前記親プロセス部および子プロセス部からのシグナ
ルを受信するシグナル受信部と、前記親プロセス部およ
び子プロセス部にシグナルを送信するシグナル送信部
と、前記プロセス情報テーブルを管理するプロセス情報
テーブル管理部と、親プロセスIDおよび監視プロセス
IDを子プロセス部に通知する親プロセスID通知部と
を含む。
【0011】本願第4の発明の親子関係疑似継続方法
は、親プロセス部が異常停止し親プロセス起動手段によ
り再起動され異常停止する前の親プロセス部が起動した
子プロセス部との間に親子関係を修復継続する方法であ
って、再起動された前記親プロセス部は、監視プロセス
起動判断手段により子プロセス情報が登録されているプ
ロセス情報テーブルを調べ、「子プロセスを起動した親
プロセスID」が自分のプロセスIDと異なっている子
プロセス部が存在するとき監視プロセス起動手段により
監視プロセス部を起動し、前記監視プロセス部は、プロ
セス情報テーブル管理手段により前記プロセス情報テー
ブルから「子プロセスを起動した親プロセスID」が前
記親プロセス部のプロセスIDと異なっている子プロセ
ス部の存在を確認し、前記親プロセス部のプロセスID
と異なっている子プロセス部に対して、親プロセスID
および監視プロセスIDを親プロセスID通知手段を使
いシグナル送信手段を介して送信し、前記子プロセス部
はシグナル受信手段で親プロセスIDおよび監視プロセ
スIDを受信し、親プロセスID置換手段を用い管理し
ていた親プロセスIDを受信した親プロセスIDで置換
し、監視プロセスIDを用いて監視プロセス部に対して
親プロセスIDを置換したことをシグナル送信手段を介
して通知し、前記監視プロセス部は前記子プロセス部か
らの置換終了通知をシグナル受信手段で受信し1つの子
プロセス部に対し親プロセスID置換が終了したことを
認識し、前記プロセス情報テーブル上の「子プロセスを
起動した親プロセスID」を新しい親プロセス部のプロ
セスIDに書き直し、前記監視プロセス部は、前記プロ
セス情報テーブルから「子プロセスを起動した親プロセ
スID」が前記親プロセス部のプロセスIDと異なって
いる子プロセス部が存在しなくなるまで前記と同様の処
理を続け、前記プロセス情報テーブルの「子プロセスを
起動した親プロセスID」が前記親プロセス部のプロセ
スIDと異なっている子プロセス部が存在しなくなった
ところで親子関係が修復継続されたとみなすことを特徴
とする。
【0012】
【発明の実施の形態】本発明の実施の形態1について、
図面を参照して詳細に説明する。
【0013】使用する図面は、図1,図2,図3,図
4,および図5である。図1は本発明の実施の形態の構
成図、図2は親プロセス部のブロック図、図3は子プロ
セス部のブロック図、図4は監視プロセス部のブロック
図、図5はプロセス情報テーブルである。
【0014】図1は、親プロセス起動部1、親プロセス
部2、子プロセスA部3、子プロセスB部4、子プロセ
スC部5、プロセス情報テーブル6、および監視プロセ
ス部7から構成されている。本構成図では子プロセス部
を3つとしているが、子プロセス部の数はこれ以上でも
以下でも良い。
【0015】親プロセス起動手段1は親プロセス部2を
起動する。親プロセス部2は親プロセス起動手段1から
起動され、親プロセス部としての処理を実行する。子プ
ロセスA部3、子プロセスB部4、および子プロセスC
部5は親プロセス部2から起動され、子プロセス部とし
ての処理を実行する。プロセス情報テーブル6には、親
プロセス部2が起動した子プロセスA部〜C部の情報が
親プロセス部2により登録される。プロセス情報テーブ
ル6は、「子プロセスID」、「子プロセス名」、およ
び「子プロセスを起動した親プロセスID」から成って
いる。プロセス情報テーブル6は、親プロセス名をキー
としてポイントでき、他のプロセス部でも参照できる領
域、例えば共有メモリ領域あるいはファイル装置に存在
する。図5に、プロセス情報テーブルの例を示す。監視
プロセス部7は、親プロセス部2により起動され、プロ
セス情報テーブル6を参照して異常停止した子プロセス
部を検出し、親プロセス部2に異常停止した子プロセス
部の情報を送信する。そして、親プロセス部2は異常停
止した子プロセス部を再起動する。
【0016】図2は、処理部21、シグナル受信部2
2、シグナル送信部23、子プロセス起動部24、監視
プロセス起動判断部25、監視プロセス起動部26、プ
ロセス情報テーブル管理部27、および子プロセス再起
動部28から構成されている。
【0017】処理部21は、親プロセス部2としての処
理を実行する。シグナル受信部22は、子プロセス部3
〜5および監視プロセス部7からの情報を受信して処理
部21に通知する。シグナル送信部23は、処理部21
からの情報を子プロセス部3〜5および監視プロセス部
7に送信する。子プロセス起動部24は、処理部21か
らの指示により子プロセス部3〜5を起動する。プロセ
ス情報テーブル管理部27は、処理部21の指示により
起動した子プロセス部3〜5の情報をプロセス情報テー
ブル6に登録し参照する。監視プロセス起動判断部25
は、プロセス情報テーブル管理部27を経由してプロセ
ス情報テーブル6の「子プロセスを起動した親プロセス
ID」を調べ、監視プロセス部7を起動すべきか否かを
判断する。親プロセス部2のプロセスID以外のプロセ
スIDがセットされていた場合に監視プロセス起動部2
6に監視プロセス起動の指示を出す。監視プロセス起動
部26は、監視プロセス起動判断部25からの指示によ
り、監視プロセス部7を起動する。子プロセス再起動部
28は、監視プロセス部7からの情報により異常を起こ
し停止状態にある子プロセス部を再起動する。
【0018】図3は、処理部31、シグナル受信部3
2、およびシグナル送信部33から構成されている。
【0019】処理部31は、子プロセス部としての処理
を実行する。シグナル受信部32は、親プロセス部2か
らの情報を受信して処理部31に通知する。シグナル送
信部33は、処理部31からの情報を親プロセス部2に
送信する。子プロセス部3〜5が停止する場合、子プロ
セス部3〜5はシグナル送信部33を用いてシグナル
(停止イベント情報)を親プロセス部2に対して送信す
る。
【0020】図4は、処理部41、シグナル受信部4
2、シグナル送信部43、およびプロセス情報テーブル
管理部44から構成されている。
【0021】処理部41は、監視プロセス部としての処
理を実行する。処理の内容は、プロセス情報テーブル6
を参照して異常停止した子プロセス部を検出し、シグナ
ル送信部43を用いて親プロセス部2に異常停止した子
プロセス部の情報を送信することである。シグナル受信
部42は、親プロセス部2からの情報を受信して処理部
41に通知する。シグナル送信部43は、処理部41か
らの情報を親プロセス部2に送信する。プロセス情報テ
ーブル管理部44は、処理部41の指示によりプロセス
情報テーブル6へのアクセスを行う。
【0022】本発明の実施の形態1の動作について、図
1〜図5および図6を参照して詳細に説明する。
【0023】図6(a)〜(f)は、動作の過程におけ
るプロセスの親子関係の状態を示している。
【0024】図6(a)で、親プロセス起動部1により
親プロセス部61(プロセス名がOYAでプロセスID
が100)が起動され、親プロセス部61は子プロセス
起動部24により子プロセスA部62、子プロセスB部
63、子プロセスC部64の3個の子プロセス部を起動
し、プロセス情報テーブル管理部27によりプロセス情
報テーブル65に起動した3個の子プロセス部のエント
リを登録している。
【0025】この状態で、図6(b)のように、親プロ
セス部61が異常停止する。親プロセス部61が異常停
止してしまった場合は、処理を継続するために、新しい
親プロセス部66(プロセス名がOYAでプロセスID
が500)を再起動する。親プロセス部の異常停止後の
再起動は、親プロセス起動部1により行われる(図6
(c)参照)。
【0026】再起動された新しい親プロセス部66は、
まず、監視プロセス起動判断部25によりプロセス情報
テーブル65に登録されているすべての子プロセス情報
について「子プロセスを起動した親プロセスID」を調
べ、「子プロセスを起動した親プロセスID」が新親プ
ロセス部66のプロセスID(500)と同じか否か
で、残存している子プロセスが存在するか否かを確認す
る。新親プロセス部66のプロセスID(500)以外
のものが1つでもある場合には残存している子プロセス
部が存在していると判断し、残存している子プロセス部
との親子関係修復継続のために、監視プロセス起動部2
6により監視プロセス部67を起動する(図6(c)参
照)。
【0027】監視プロセス部67では、プロセス情報テ
ーブル65の「子プロセスを起動した親プロセスID」
が新親プロセス部66のプロセスID(500)以外の
子プロセス部に対し、定期的に「子プロセスID」と
「子プロセス名」を基にOSに対して存在確認を行う
(図6(c)参照)。監視プロセス部67による存在確
認で、子プロセス部が停止しているのを検出した場合
は、監視プロセス部67はプロセス情報テーブル管理部
44を用い停止した子プロセス部の「子プロセスID」
をプロセス情報テーブル65からゼロクリアしたうえ
で、シグナル送信部43を介して新親プロセス部66に
シグナルを送信する(図6(d)参照)。
【0028】新親プロセス部66は、監視プロセス部6
7からのシグナルを受信して、プロセス情報テーブル6
5の中でゼロクリアされているものを確認し、親プロセ
ス部61の残した子プロセスA部62の停止を認識した
上で、子プロセス再起動部28により新子プロセスA部
68(プロセス名がKOAでプロセスIDが250)の
再起動を行う。このとき、新親プロセス部66は、再起
動を行った新子プロセスA部68の情報をプロセス情報
テーブル65に登録する。新親プロセス部66は、一つ
の子プロセス部の処理が終わったことを監視プロセス部
67に通知する(図6(e)参照)。
【0029】監視プロセス部67は、プロセス情報テー
ブル65を基に親プロセス部61の残した子プロセス部
(子プロセスB部63、プロセスC部64)を監視し、
これらの2つに対して同様の処理を行い全ての処理が終
了すれば、新親プロセス部66と子プロセス部との親子
関係は修復されたので、監視プロセス部67は終了する
(図6(f)参照)。
【0030】以上のことにより、新親プロセス部66と
子プロセス部との親子関係は修復継続される。親プロセ
ス部の処理は、監視プロセス部からのシグナル受信時に
子プロセス部の再起動を行うという処理になり、非常に
わかりやすく確実な処理が実現できる。
【0031】本発明の実施の形態2について、図面を参
照して詳細に説明する。
【0032】使用する図面は、図1,図5,図7,図
8,および図9である。図1は本発明の実施の形態の構
成図、図5はプロセス情報テーブル、図7は親プロセス
部のブロック図、図8は子プロセス部のブロック図、図
9は監視プロセス部のブロック図である。図1および図
5は、実施の形態1と同様であるので図の説明は省略す
る。
【0033】図7は、処理部71、シグナル受信部7
2、シグナル送信部73、子プロセス起動部74、監視
プロセス起動判断部75、監視プロセス起動部76、お
よびプロセス情報テーブル管理部77から構成されてい
る。
【0034】処理部71は、親プロセス部2としての処
理を実行する。シグナル受信部72は、子プロセス部3
〜5および監視プロセス部7からの情報を受信して処理
部71に通知する。シグナル送信部73は、処理部71
からの情報を子プロセス部3〜5および監視プロセス部
7に送信する。子プロセス起動部74は、処理部71か
らの指示により子プロセス部3〜5を起動する。プロセ
ス情報テーブル管理部77は、処理部71の指示により
起動した子プロセス部3〜5の情報をプロセス情報テー
ブル6に登録し参照する。監視プロセス起動判断部75
は、プロセス情報テーブル管理部77を経由してプロセ
ス情報テーブル6の「子プロセスを起動した親プロセス
ID」を調べ、監視プロセス部7を起動すべきか否かを
判断する。「子プロセスを起動した親プロセスID」に
親プロセス部2のプロセスID以外のプロセスIDがセ
ットされていた場合に監視プロセス起動部76に対して
監視プロセス起動の指示を出す。監視プロセス起動部7
6は、監視プロセス起動判断部75からの指示により、
監視プロセス部7を起動する。
【0035】図8は、処理部81、シグナル受信部8
2、シグナル送信部83、および親プロセスID置換部
84から構成されている。
【0036】処理部81は、子プロセス部3〜5として
の処理を実行する。シグナル受信部82は、親プロセス
部2および監視プロセス部7からの情報を受信して処理
部81に通知する。シグナル送信部83は、処理部81
からの情報を親プロセス部2および監視プロセス部7に
送信する。子プロセス部3〜5が停止する場合、子プロ
セス部3〜5はシグナル送信部83を用いてシグナル
(停止イベント情報)を親プロセス部2に対して送信す
る。親プロセスID置換部84は、監視プロセス部7か
らシグナル受信部82を介して通知された親プロセスI
Dで現在自分が管理している親プロセスIDを置換す
る。
【0037】図9は、処理部91、シグナル受信部9
2、シグナル送信部93、プロセス情報テーブル管理部
94、および親プロセスID通知部95から構成され
る。
【0038】処理部91は、監視プロセス部としての処
理を実行する。処理の内容は、プロセス情報テーブル6
を参照して親プロセス部のプロセスIDと異なる「子プ
ロセスを起動した親プロセスID」を持つ子プロセス部
を検出し、該子プロセス部に対してシグナル送信部93
を用いて親プロセス部2のプロセスIDと監視プロセス
部7のプロセスIDを送信することである。シグナル受
信部92は、親プロセス部2および子プロセス部3〜5
からの情報を受信して処理部91に通知する。シグナル
送信部93は、処理部91からの情報を親プロセス部2
および子プロセス部3〜5に送信する。プロセス情報テ
ーブル管理部94は、処理部91の指示によりプロセス
情報テーブル6へのアクセスを行う。親プロセスID通
知部95は、親プロセス部2のプロセスIDをシグナル
送信部93を介して子プロセス部3〜5に通知する。
【0039】本発明の実施の形態2の動作について、図
1、図5、図7〜図9、および図10を参照して詳細に
説明する。
【0040】図10(a)〜(f)は、動作の過程にお
けるプロセスの親子関係の状態を示している。
【0041】図10(a)で、親プロセス起動部1によ
り親プロセス部101(プロセス名がOYAでプロセス
IDが100)が起動され、親プロセス部101は子プ
ロセス起動部74により子プロセスA部102、子プロ
セスB部103、子プロセスC部104の3個の子プロ
セス部を起動し、プロセス情報テーブル管理部77によ
りプロセス情報テーブル105に起動した3個の子プロ
セス部のエントリを登録している。
【0042】この状態で、図10(b)のように、親プ
ロセス部101が異常停止する。親プロセス部101が
異常停止してしまった場合は、処理を継続するために、
新しい親プロセス部106(プロセス名がOYAでプロ
セスIDが500)を再起動する。親プロセスの異常停
止後の再起動は、親プロセス起動者1により行われる
(図10(c)参照)。
【0043】再起動された新しい親プロセス部106
は、まず、監視プロセス起動判断部75によりプロセス
情報テーブル105に登録されているすべての子プロセ
ス情報について「子プロセスを起動した親プロセスI
D」を調べ、「子プロセスを起動した親プロセスID」
が新親プロセス部106のプロセスID(500)と同
じか否かで、残存している子プロセスが存在するか否か
を確認する。新親プロセス部のプロセスID(500)
以外のものが1つでもある場合には残存している子プロ
セス部が存在していると判断し、残存している子プロセ
ス部との親子関係修復継続のために、監視プロセス起動
部76により監視プロセス部107を起動する(図10
(c)参照)。
【0044】監視プロセス部107では、プロセス情報
テーブル105を調べ、プロセス情報テーブル105の
「子プロセスを起動した親プロセスID」が新親プロセ
ス部106のプロセスID(500)以外である子プロ
セス部が存在することを確認する。子プロセス部が存在
した場合は、監視プロセス部107は、該子プロセス部
に対して、親プロセスIDと監視プロセスIDとを親プ
ロセスID通知部95によりシグナル送信部93を介し
て送信する。
【0045】子プロセス部はシグナル受信部82で親プ
ロセスIDと監視プロセスIDとを受信し、親プロセス
ID置換部89を用い管理していた親プロセスIDを受
信した親プロセスIDで置換する。その後、子プロセス
部は監視プロセスIDを用いて監視プロセス部107に
親プロセスIDを置換したことを通知する。
【0046】監視プロセス部107は置換終了通知をシ
グナル受信部92で受信し1つの子プロセス部に対し親
プロセスID置換が終了したことを認識する。監視プロ
セス部107はプロセス情報テーブル105上の「子プ
ロセスを起動した親プロセスID」を新しい親プロセス
部106のプロセスIDに書き直す。これで、親プロセ
ス部106と子プロセス部102の親子関係が修復でき
たことになる(図10(d)参照)。
【0047】監視プロセス部107は、プロセス情報テ
ーブル105を基に親プロセス部101の残した全ての
子プロセス部(子プロセスB部103,子プロセスC部
104)に対して同様の処理を繰り返し、全ての子プロ
セス部に対して処理が終了したところで全ての親子関係
が修復できたので、監視プロセス部107は終了する
(図10(e)(f)参照)。
【0048】以上のことにより、新親プロセス部106
と子プロセス部102〜104との親子関係は修復継続
される。親プロセス部では、監視プロセス部に親子関係
の修復を任せることにより、親プロセス部としての処理
に専任でき、親プロセス部の構造も単純化できる。
【0049】
【発明の効果】第1の効果は、親プロセス部が停止して
再度新しく親プロセス部を起動した場合に、異常停止し
た親プロセス部が起動していた子プロセス部と新たに起
動された親プロセス部との間に親子関係を疑似的に継続
させ、処理を続行できることにある。その理由は、監視
プロセス部を設けて親プロセス部と子プロセス部の親子
関係を修復する手段を提供したからである。
【0050】第2の効果は、親プロセス部の処理が簡潔
化されたことである。その理由は、形態の異なる処理を
分割し監視プロセス部に分担させたことにより、親プロ
セス部は親プロセス部としての本来の処理に専念できる
からである。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成図
【図2】実施の形態1における親プロセス部のブロック
【図3】実施の形態1における子プロセス部のブロック
【図4】実施の形態1における監視プロセス部のブロッ
ク図
【図5】プロセス情報テーブル
【図6】実施の形態1におけるプロセス親子関係関連図
【図7】実施の形態2における親プロセス部のブロック
【図8】実施の形態2における子プロセス部のブロック
【図9】実施の形態2における監視プロセス部のブロッ
ク図
【図10】実施の形態2におけるプロセス親子関係関連
【符号の説明】
1 親プロセス起動部 2 親プロセス部 3 子プロセスA部 4 子プロセスB部 5 子プロセスC部 6 プロセス情報テーブル 7 監視プロセス部 21 処理部 22 シグナル受信部 23 シグナル送信部 24 子プロセス起動部 25 監視プロセス起動判断部 26 監視プロセス起動部 27 プロセス情報テーブル管理部 28 子プロセス再起動部 31 処理部 32 シグナル受信部 33 シグナル送信部 41 処理部 42 シグナル受信部 43 シグナル送信部 44 プロセス情報テーブル管理部 71 処理部 72 シグナル受信部 73 シグナル送信部 74 子プロセス起動部 75 監視プロセス起動判断部 76 監視プロセス起動部 77 プロセス情報テーブル管理部 81 処理部 82 シグナル受信部 83 シグナル送信部 84 親プロセスID置換部 91 処理部 92 シグナル受信部 93 シグナル送信部 94 プロセス情報テーブル管理部 95 親プロセスID通知部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 11/30 G06F 11/00 G06F 11/20 G06F 11/14

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 親プロセス起動部、親プロセス部、複数
    の子プロセス部、プロセス情報テーブル、および監視プ
    ロセス部を有し、前記親プロセス部は、前記親プロセス
    起動部により起動され、親プロセス部としての処理を実
    行する処理部と、前記子プロセス部および前記監視プロ
    セス部からのシグナルを受信するシグナル受信部と、前
    記子プロセス部および前記監視プロセス部にシグナルを
    送信するシグナル送信部と、前記処理部の指示により前
    記子プロセス部を起動し前記プロセス情報テーブルに子
    プロセス部の情報を登録する子プロセス起動部と、前記
    監視プロセス部を起動する必要があるか否かを前記プロ
    セス情報テーブルを調べ判断する監視プロセス起動判断
    部と、前記監視プロセス起動判断部の判断を基に監視プ
    ロセス部を起動する監視プロセス起動部と、前記プロセ
    ス情報テーブルを管理するプロセス情報テーブル管理部
    と、前記監視プロセス部からの情報に基づき異常停止し
    た子プロセス部を再起動する子プロセス再起動部とを含
    み、前記子プロセス部は、前記子プロセス起動部により
    起動され、子プロセス部としての処理を実行する処理部
    と、前記親プロセス部からのシグナルを受信するシグナ
    ル受信部と、前記親プロセス部にシグナルを送信するシ
    グナル送信部とを含み、前記監視プロセス部は、前記監
    視プロセス起動部により起動され、監視プロセス部とし
    ての処理を実行する処理部と、前記親プロセス部からの
    シグナルを受信するシグナル受信部と、前記親プロセス
    部にシグナルを送信するシグナル送信部と、前記プロセ
    ス情報テーブルを管理するプロセス情報テーブル管理部
    とを含むことを特徴とする親子関係疑似継続装置。
  2. 【請求項2】 前記監視プロセス部としての処理を実行
    する処理部が、前記プロセス情報テーブルを参照して異
    常を起こし停止している子プロセス部を検出し、前記親
    プロセス部にシグナル通知することを特徴とする請求項
    1記載の親子関係疑似継続装置。
  3. 【請求項3】 親プロセス部が異常停止し親プロセス起
    動手段により再起動され異常停止する前の親プロセス部
    が起動した子プロセス部との間に親子関係を修復継続す
    る方法であって、再起動された前記親プロセス部は、監
    視プロセス起動判断手段により子プロセス情報が登録さ
    れているプロセス情報テーブルを調べ、前記プロセス情
    報テーブルの「子プロセスを起動した親プロセスID」
    が自分のプロセスIDと異なっている子プロセス部が存
    在するときに監視プロセス起動手段により監視プロセス
    部を起動し、前記監視プロセス部は、前記親プロセス部
    のプロセスIDと異なっている前記子プロセス部に対し
    て前記プロセス情報テーブルの「子プロセスID」と
    「子プロセス名」を基に定期的に存在確認を行い、前記
    子プロセス部が異常停止しているのを検出した場合に異
    常停止した子プロセス部の情報を前記プロセス情報テー
    ブルからクリアし、シグナル送信手段を介して前記親プ
    ロセス部にシグナルを送信し、前記親プロセス部は、前
    記監視プロセス部からのシグナルをシグナル受信手段に
    より受信し、プロセス情報テーブル管理手段を介して前
    記プロセス情報テーブルの中でクリアされている前記子
    プロセス部を認識した上で、子プロセス再起動手段によ
    り異常停止した子プロセス部の再起動を行い、再起動を
    行った子プロセス部の情報を前記プロセス情報テーブル
    に登録し、前記監視プロセス部は、前記プロセス情報テ
    ーブルから「子プロセスを起動した親プロセスID」が
    前記親プロセス部のプロセスIDと異なっている子プロ
    セス部が存在しなくなるまで、前記と同様の処理を続
    け、前記プロセス情報テーブルの「子プロセスを起動し
    た親プロセスID」が前記親プロセス部のプロセスID
    と異なっている子プロセス部が存在しなくなったところ
    で親子関係が修復継続されたとみなすことを特徴とする
    親子関係疑似継続方法。
  4. 【請求項4】 親プロセス起動部、親プロセス部、複数
    の子プロセス部、プロセス情報テーブル、および監視プ
    ロセス部を有し、前記親プロセス部は、前記親プロセス
    起動部により起動され、親プロセス部としての処理を実
    行する処理部と、前記子プロセス部および監視プロセス
    部からのシグナルを受信するシグナル受信部と、前記子
    プロセス部および監視プロセス部にシグナルを送信する
    シグナル送信部と、前記処理部の指示により前記子プロ
    セス部を起動し前記プロセス情報テーブルに子プロセス
    部の情報を登録する子プロセス起動部と、前記監視プロ
    セス部を起動する必要があるか否かを前記プロセス情報
    テーブルを調べ判断する監視プロセス起動判断部と、前
    記監視プロセス起動判断部の判断を基に監視プロセス部
    を起動する監視プロセス起動部と、前記プロセス情報テ
    ーブルを管理するプロセス情報テーブル管理部とを含
    み、前記子プロセス部は、前記子プロセス起動部により
    起動され、子プロセス部としての処理を実行する処理部
    と、前記親プロセス部および監視プロセス部からのシグ
    ナルを受信するシグナル受信部と、前記親プロセス部お
    よび監視プロセス部にシグナルを送信するシグナル送信
    部と、前記監視プロセス部から親プロセスIDおよび監
    視プロセスIDを通知され親プロセスIDで自分が管理
    している親プロセスIDを置換する親プロセスID置換
    部とを含み、前記監視プロセス部は、前記監視プロセス
    起動部により起動され、監視プロセスとしての処理を実
    行する処理部と、前記親プロセス部および子プロセス部
    からのシグナルを受信するシグナル受信部と、前記親プ
    ロセス部および子プロセス部にシグナルを送信するシグ
    ナル送信部と、前記プロセス情報テーブルを管理するプ
    ロセス情報テーブル管理部と、親プロセスIDおよび監
    視プロセスIDを子プロセス部に通知する親プロセスI
    D通知部とを含むことを特徴とする親子関係疑似継続装
    置。
  5. 【請求項5】 前記親プロセス部が、親プロセス部が異
    常停止した後の再起動された親プロセス部であり、該再
    起動された親プロセス部から前記監視プロセス部が起動
    されることを特徴とする請求項1および4記載の親子関
    係疑似継続装置。
  6. 【請求項6】 前記プロセス情報テーブルが、プロセス
    監視のためのプロセス情報を関連子プロセス単位に管理
    するもので、「子プロセスID」,「子プロセス名」,
    および「子プロセスを起動した親プロセスID」から構
    成されることを特徴とする請求項1および4記載の親子
    関係疑似継続装置。
  7. 【請求項7】 前記監視プロセス部としての処理を実行
    する処理部が、前記プロセス情報テーブルを参照し「子
    プロセスを起動した親プロセスID」が親プロセス部の
    プロセスIDと異なる子プロセス部に対して、親プロセ
    スIDと監視プロセスIDを通知することを特徴とする
    請求項4記載の親子関係疑似継続装置。
  8. 【請求項8】 前記プロセス情報テーブルの「子プロセ
    スを起動した親プロセスID」が親プロセス部のプロセ
    スIDと異なる場合に、「子プロセスを起動した親プロ
    セスID」が親プロセス部のプロセスIDと異なる値を
    持つ子プロセス部は異常停止する前の親プロセス部が起
    動した子プロセス部であると認識することを特徴とする
    請求項1および4記載の親子関係疑似継続装置。
  9. 【請求項9】 親プロセス部が異常停止し親プロセス起
    動手段により再起動され異常停止する前の親プロセス部
    が起動した子プロセス部との間に親子関係を修復継続す
    る方法であって、再起動された前記親プロセス部は、監
    視プロセス起動判断手段により子プロセス情報が登録さ
    れているプロセス情報テーブルを調べ、「子プロセスを
    起動した親プロセスID」が自分のプロセスIDと異な
    っている子プロセス部が存在するとき監視プロセス起動
    手段により監視プロセス部を起動し、前記監視プロセス
    部は、プロセス情報テーブル管理手段により前記プロセ
    ス情報テーブルから「子プロセスを起動した親プロセス
    ID」が前記親プロセス部のプロセスIDと異なってい
    る子プロセス部の存在を確認し、前記親プロセス部のプ
    ロセスIDと異なっている子プロセス部に対して、親プ
    ロセスIDおよび監視プロセスIDを親プロセスID通
    知手段を使いシグナル送信手段を介して送信し、前記子
    プロセス部はシグナル受信手段で親プロセスIDおよび
    監視プロセスIDを受信し、親プロセスID置換手段を
    用い管理していた親プロセスIDを受信した親プロセス
    IDで置換し、監視プロセスIDを用いて監視プロセス
    部に対して親プロセスIDを置換したことをシグナル送
    信手段を介して通知し、前記監視プロセス部は前記子プ
    ロセス部からの置換終了通知をシグナル受信手段で受信
    し1つの子プロセス部に対し親プロセスID置換が終了
    したことを認識し、前記プロセス情報テーブル上の「子
    プロセスを起動した親プロセスID」を新しい親プロセ
    ス部のプロセスIDに書き直し、前記監視プロセス部
    は、前記プロセス情報テーブルから「子プロセスを起動
    した親プロセスID」が前記親プロセス部のプロセスI
    Dと異なっている子プロセス部が存在しなくなるまで前
    記と同様の処理を続け、前記プロセス情報テーブルの
    「子プロセスを起動した親プロセスID」が前記親プロ
    セス部のプロセスIDと異なっている子プロセス部が存
    在しなくなったところで親子関係が修復継続されたとみ
    なすことを特徴とする親子関係疑似継続方法。
JP10175727A 1998-06-23 1998-06-23 親子関係疑似継続装置および方法 Expired - Fee Related JP3049010B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10175727A JP3049010B2 (ja) 1998-06-23 1998-06-23 親子関係疑似継続装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10175727A JP3049010B2 (ja) 1998-06-23 1998-06-23 親子関係疑似継続装置および方法

Publications (2)

Publication Number Publication Date
JP2000010795A JP2000010795A (ja) 2000-01-14
JP3049010B2 true JP3049010B2 (ja) 2000-06-05

Family

ID=16001190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10175727A Expired - Fee Related JP3049010B2 (ja) 1998-06-23 1998-06-23 親子関係疑似継続装置および方法

Country Status (1)

Country Link
JP (1) JP3049010B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519845B1 (ko) * 2013-11-14 2015-05-13 (주)잉카엔트웍스 안티디버깅 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5446666B2 (ja) * 2009-09-28 2014-03-19 富士通株式会社 プロセス管理プログラム及びプロセス管理方法
CN105573777B (zh) * 2014-11-11 2020-01-14 阿里巴巴集团控股有限公司 应用中服务的控制方法及装置
JP7125525B2 (ja) * 2021-05-19 2022-08-24 株式会社ユニバーサルエンターテインメント 遊技機

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519845B1 (ko) * 2013-11-14 2015-05-13 (주)잉카엔트웍스 안티디버깅 방법
WO2015072689A1 (ko) * 2013-11-14 2015-05-21 (주)잉카엔트웍스 안티디버깅 방법
CN105793860A (zh) * 2013-11-14 2016-07-20 Inka安特沃客有限公司 反调试方法

Also Published As

Publication number Publication date
JP2000010795A (ja) 2000-01-14

Similar Documents

Publication Publication Date Title
US6633538B1 (en) Node representation system, node monitor system, the methods and storage medium
US20020023151A1 (en) Multi-path computer system
JP5579650B2 (ja) 監視対象プロセスを実行する装置及び方法
JP2000105756A (ja) 網内の分散アプリケ―ションの故障を検出し、この故障を指定されるリプリケ―ションの程度に従って回復するための方法および装置
KR20040047209A (ko) 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템
TW200426571A (en) Policy-based response to system errors occurring during os runtime
US5341363A (en) Computer system capable of disconnecting itself from a lan
JP3049010B2 (ja) 親子関係疑似継続装置および方法
JP2735514B2 (ja) プロセス状態管理方式
US10606702B2 (en) System, information processing apparatus, and method for rebooting a part corresponding to a cause identified
JP2003345620A (ja) 多ノードクラスタシステムのプロセス監視方法
JP2008040750A (ja) 遠隔監視制御装置及びシステム
JP2000040045A (ja) 監視システム
JP3325785B2 (ja) 計算機の故障検出・回復方式
TW201021467A (en) Method for recovering electric power equipment automatically
TWI390398B (zh) 電腦運行狀態偵測及處理方法和系統
US20060095479A1 (en) Primary and recovery file system management
US20040158605A1 (en) Domain-wide reset agents
JP2977705B2 (ja) ネットワーク接続された多重化コンピュータシステムの制御方式
JP2000357128A (ja) バックアップメモリ構成方式および通信伝送システム
JPH09198334A (ja) データ伝送システムの障害管理方法
JPH10133964A (ja) データ伝送システム
JPH0567016A (ja) プログラム異常動作監視方式
CN116701055A (zh) 一种服务器的故障隔离方法、装置、设备及介质
JP2000330829A (ja) 系間通信処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000307

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080324

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090324

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100324

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees