JP5986974B2 - Process monitoring system and process monitoring method - Google Patents

Process monitoring system and process monitoring method Download PDF

Info

Publication number
JP5986974B2
JP5986974B2 JP2013217071A JP2013217071A JP5986974B2 JP 5986974 B2 JP5986974 B2 JP 5986974B2 JP 2013217071 A JP2013217071 A JP 2013217071A JP 2013217071 A JP2013217071 A JP 2013217071A JP 5986974 B2 JP5986974 B2 JP 5986974B2
Authority
JP
Japan
Prior art keywords
monitoring
process monitoring
monitoring means
unit
monitored
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.)
Active
Application number
JP2013217071A
Other languages
Japanese (ja)
Other versions
JP2015079413A (en
Inventor
慎也 高田
慎也 高田
敏浩 元田
敏浩 元田
淳哉 秋葉
淳哉 秋葉
剛 永吉
剛 永吉
石本 英隆
英隆 石本
隆宏 松村
隆宏 松村
一凡 張
一凡 張
勝彦 江口
勝彦 江口
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013217071A priority Critical patent/JP5986974B2/en
Publication of JP2015079413A publication Critical patent/JP2015079413A/en
Application granted granted Critical
Publication of JP5986974B2 publication Critical patent/JP5986974B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、コンピュータシステム上のプロセスが何らかの理由によって終了した場合、システムの正常動作を担保するため、当該終了プロセスを再起動する、プロセス監視技術に関する。   The present invention relates to a process monitoring technique in which when a process on a computer system is terminated for some reason, the termination process is restarted to ensure normal operation of the system.

コンピュータシステム上のプロセスを監視し、プロセスが不具合によって終了した場合や、悪意の第三者によって終了した場合などに、このイベントを捕捉して、終了したプロセスを再起動させるプロセス監視技術に関するニーズは、システム全体の正常運用管理や悪意の第三者によるシステムへの妨害行為の排除といった様々な利用形態が想定されることから、非常に高い(非特許文献1,2参照)。   There is a need for process monitoring technology that monitors a process on a computer system and captures this event and restarts the terminated process when the process is terminated due to a malfunction or terminated by a malicious third party. It is very expensive because various usage forms such as normal operation management of the entire system and elimination of an obstruction to the system by a malicious third party are assumed (see Non-Patent Documents 1 and 2).

安齋希美、“PostgreSQL多機能ミドルウェア pgpool-II 最新活用方法”、平成25年2月12日、SRA OSS, Inc. Japan、[平成25年10月9日検索]、インターネット〈URL: http://www.sraoss.co.jp/event_seminar/2013/20130212_pgpool_seminar_sraoss.pdf〉Nozomi Anjo, “PostgreSQL Multifunctional Middleware pgpool-II Latest Usage Method”, February 12, 2013, SRA OSS, Inc. Japan, [October 9, 2013 Search], Internet <URL: http: // www.sraoss.co.jp/event_seminar/2013/20130212_pgpool_seminar_sraoss.pdf> 北村雅人、“UNIX/NT サーバー 高信頼性確保のための方策”、2001年6月、株式会社シーエーシー技術レポート誌「SOFTECHS」Vol.24 No.1、[平成25年10月9日検索]、インターネット〈URL: http://www.cac.co.jp/softechs/pdf/st2401_05.pdf〉Masato Kitamura, “UNIX / NT Server Strategy for Ensuring High Reliability”, June 2001, CAC Technical Report Magazine “SOFTECHS” Vol. 24 No. 1. [Search October 9, 2013], Internet <URL: http://www.cac.co.jp/softechs/pdf/st2401_05.pdf>

従来のプロセス監視技術では、監視専用のプログラムを監視対象のプログラム(以下、監視対象プログラムという)に組み込まなくてはならず、監視対象プログラムの大きな改変が必要であるという課題があった。
また、通常、プロセスが他のプロセスを単純に生成した場合にはプロセスに親子関係ができるが、この場合、親プロセスを終了すると芋づる式にプロセスツリー全体が終了され、最悪の場合すべてのプロセスが終了してしまい、プロセスの監視と再起動が実施できなくなり監視不能に陥るという課題もあった。
In the conventional process monitoring technology, there is a problem that a monitoring-dedicated program must be incorporated into a monitoring target program (hereinafter referred to as a monitoring target program), and the monitoring target program needs to be greatly modified.
Normally, if a process simply creates another process, the process has a parent-child relationship. In this case, however, the entire process tree is terminated according to an expression that ends when the parent process is terminated. There was also a problem that the monitoring and restarting of the process could not be performed and the monitoring could not be performed.

本発明は、監視対象プログラムへの影響が少ないながらも監視不能に陥ることを防ぐことのできるプロセス監視技術を提供する。   The present invention provides a process monitoring technique that can prevent monitoring from being impossible while having little influence on a monitoring target program.

本発明のプロセス監視技術は、複数の監視対象プログラムによるそれぞれのプロセスの死活を監視するプロセス監視技術であって、複数のプロセス監視手段のそれぞれが、複数の監視対象プログラムのうち対応する監視対象プロセスに組み込まれるダイナミックリンクライブラリによって実現されるものであり、各プロセス監視手段が、複数のプロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数のプロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視されるように複数のプロセス監視手段の間の監視が構成されている。そして、各プロセス監視手段は、当該プロセス監視手段が起動した際に記憶手段にプロセス情報を保存しておき、各プロセス監視手段は、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況を監視する。さらに、各プロセス監視手段は、監視対象であるプロセス監視手段の停止が検知された場合に、記憶手段に登録されたプロセス情報を参照して、当該プロセス監視手段と同じプロセスツリーに含まれないように、停止したプロセス監視手段に対応する監視対象プログラムを実行する。   The process monitoring technology of the present invention is a process monitoring technology for monitoring the life and death of each process by a plurality of monitoring target programs, and each of the plurality of process monitoring means corresponds to a corresponding monitoring target process among the plurality of monitoring target programs. Each process monitoring means monitors the operating status of at least one process monitoring means other than itself among the plurality of process monitoring means, and a plurality of process monitoring means Monitoring among a plurality of process monitoring means is configured so that the operation status of the self can be monitored by at least one process monitoring means other than itself. Each process monitoring unit stores process information in the storage unit when the process monitoring unit is activated, and each process monitoring unit displays the operation status of the process monitoring unit monitored by the process monitoring unit. Monitor. Furthermore, each process monitoring unit refers to the process information registered in the storage unit so that it is not included in the same process tree as the process monitoring unit when it is detected that the process monitoring unit to be monitored is stopped. Then, the monitoring target program corresponding to the stopped process monitoring means is executed.

あるいは、本発明のプロセス監視技術は、複数の監視対象プログラムによるそれぞれのプロセスの死活を監視するプロセス監視技術であって、複数のプロセス監視手段のそれぞれが各監視対象プログラムから分離されているプログラムによって実現されるものであり、各プロセス監視手段が、複数のプロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数のプロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視されるように複数のプロセス監視手段の間の監視が構成されている。そして、各プロセス監視手段は、当該プロセス監視手段が起動した際に記憶手段に、当該プロセス監視手段および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスのそれぞれのプロセス情報を保存しておき、各プロセス監視手段は、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスの死活を監視する。さらに、各プロセス監視手段は、監視対象であるプロセス監視手段または監視対象プログラムによるプロセスの停止が検知された場合に、記憶手段に登録されたプロセス情報を参照して、当該プロセス監視手段と同じプロセスツリーに含まれないように、停止したプロセス監視手段または監視対象プログラムによるプロセスを再起動する。   Alternatively, the process monitoring technique of the present invention is a process monitoring technique for monitoring the life and death of each process by a plurality of monitoring target programs, and each of the plurality of process monitoring means is a program separated from each monitoring target program. Each process monitoring means monitors the operating status of at least one process monitoring means other than itself among the plurality of process monitoring means, and at least one other than itself among the plurality of process monitoring means. Monitoring between a plurality of process monitoring means is configured so that the operation status of one process monitoring means can be monitored. Each process monitoring unit stores the process information of each process by the process monitoring unit and the monitoring target program that is the monitoring target of the process monitoring unit in the storage unit when the process monitoring unit is activated. Each process monitoring unit monitors the operation status of the process monitoring unit that is the monitoring target of the process monitoring unit and the life and death of the process by the monitoring target program that is the monitoring target of the process monitoring unit. Further, each process monitoring means refers to the process information registered in the storage means when the process stoppage by the process monitoring means or the monitoring target program that is the monitoring target is detected, and the same process as the process monitoring means. Restart the process by the stopped process monitoring means or the monitored program so that it is not included in the tree.

本発明によると、プロセス監視手段が、監視対象プロセスに組み込まれるダイナミックリンクライブラリあるいは監視対象プロセスから独立したプログラムによって実現され、さらに、停止したプロセスの再起動を起動元のプロセスと同じプロセスツリーに含まれないようにしているため、監視対象プログラムへの影響が少ないながらも監視不能に陥ることを防ぐことができる。   According to the present invention, the process monitoring means is realized by a dynamic link library incorporated in the monitored process or a program independent of the monitored process, and the restart of the stopped process is included in the same process tree as the starting process. Therefore, the monitoring target program can be prevented from becoming unmonitorable although the influence on the monitoring target program is small.

第1実施形態のシステム構成例を示す図。The figure which shows the system configuration example of 1st Embodiment. プロセスの親子関係の分断を説明する図。The figure explaining division of the parent-child relationship of a process. 第2実施形態のシステム構成例を示す図。The figure which shows the system configuration example of 2nd Embodiment.

<第1実施形態>
第1実施形態のプロセス監視システム100は、N個(ただし、Nは2以上の予め定められた整数である)の監視対象プログラム1301,1302,…,130N-1,130Nによるそれぞれのプロセスの死活を監視するシステムであり、記憶手段であるレジストリ110と、N個のプロセス監視手段1201,1202,…,120N-1,120Nを含んでいる。N個のプロセス監視手段1201,1202,…,120N-1,120Nはそれぞれレジストリ110にアクセス可能に構成されている。
<First Embodiment>
The process monitoring system 100 of the first embodiment includes N monitoring target programs 130 1 , 130 2 ,..., 130 N−1 , 130 N (where N is a predetermined integer equal to or greater than 2). .., 120 N−1 , 120 N. The system includes a registry 110 serving as storage means and N process monitoring means 120 1 , 120 2 ,. N process monitoring means 120 1 , 120 2 ,..., 120 N−1 , 120 N are each configured to be able to access the registry 110.

なお、本明細書におけるレジストリとの呼称は、特定のオペレーティングシステムを前提とするものではなく、アプリケーションが使用する記憶領域を一般的に指すものとする。   The term “registry” in this specification does not assume a specific operating system, but generally refers to a storage area used by an application.

プロセス監視手段1201,1202,…,120N-1,120Nはそれぞれ、プロセス監視手段1201,1202,…,120N-1,120Nのうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、プロセス監視手段1201,1202,…,120N-1,120Nのうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視されるように、プロセス監視手段1201,1202,…,120N-1,120Nの間の監視が構成されている。
つまり、任意のプロセス監視手段120i(i∈{1,2,…,N-1,N})は、少なくとも一つのプロセス監視手段120j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視し、かつ、少なくとも一つのプロセス監視手段120k(k∈{1,2,…,N-1,N}-{i})から自己(つまりプロセス監視手段120i)の動作状況を監視される。
Process monitoring unit 120 1, 120 2, ..., 120 N-1, 120 each N, the process monitoring means 120 1, 120 2, ..., 120 N-1, 120 at least one process monitoring means other than the self of the N , And at least one process monitoring means other than itself among the process monitoring means 120 1 , 120 2 ,..., 120 N−1 , 120 N is monitored. Monitoring between the process monitoring means 120 1 , 120 2 ,..., 120 N−1 , 120 N is configured.
That is, the arbitrary process monitoring means 120 i (i∈ {1, 2,..., N−1, N}) has at least one process monitoring means 120 j (j∈ {1, 2,..., N−1). N}-{i}) and the self (ie process) from at least one process monitoring means 120 k (k∈ {1,2,..., N-1, N}-{i}) The operating status of the monitoring means 120 i ) is monitored.

図1に示す例では、任意のプロセス監視手段と当該プロセス監視手段の監視対象となるプロセス監視手段との間に、プロセス監視手段を識別するために付された符号120の添え字についての巡回置換(N N-1 … 2 1)が成立しているため、複数のプロセス監視手段の間の監視が環状(あるいは循環状と呼称しても差し支えない)に構成されている。つまり、この例では、プロセス監視手段120Nはプロセス監視手段120N-1の動作状況を監視し、プロセス監視手段120N-1はプロセス監視手段120N-2の動作状況を監視し、・・・、プロセス監視手段1202はプロセス監視手段1201の動作状況を監視し、プロセス監視手段1201はプロセス監視手段120Nの動作状況を監視している。 In the example shown in FIG. 1, cyclic permutation of the subscript 120 assigned to identify a process monitoring unit between any process monitoring unit and the process monitoring unit to be monitored by the process monitoring unit. Since (N N-1... 2 1) is established, the monitoring between the plurality of process monitoring means is configured in a ring shape (or may be referred to as a circulation shape). That is, in this example, the process monitoring means 120 N monitors the operation status of the process monitoring means 120 N-1, the process monitoring means 120 N-1 monitors the operation status of the process monitoring means 120 N-2, · · -, process monitoring unit 120 2 monitors the operation status of the process monitoring means 120 1, the process monitoring means 120 1 monitors the operation status of the process monitoring means 120 N.

プロセス監視手段1201,1202,…,120N-1,120Nはそれぞれ、N個の監視対象プログラム1301,1302,…,130N-1,130Nのうち対応する監視対象プログラムに組み込まれるプログラムによって実現されるが、これらのプログラムはそれぞれダイナミックリンクライブラリとして構成されている。図1に示す例では、任意のプロセス監視手段120i(i∈{1,2,…,N-1,N})は監視対象プログラム130iに組み込まれるダイナミックリンクライブラリによって実現される。このようにプロセス監視手段を実現するためのプログラムをダイナミックリンクライブラリとして構成することによって、監視対象プログラムの改変は使用するライブラリを指定するコードの追加だけで済み、監視対象プログラムのローディング時にプロセス監視手段を容易に実現できるようになる。 Process monitoring unit 120 1, 120 2, ..., respectively 120 N-1, 120 N, N-number of the monitoring target program 130 1, 130 2, ..., the corresponding monitoring target program among the 130 N-1, 130 N These programs are implemented as embedded programs, and these programs are each configured as a dynamic link library. In the example shown in FIG. 1, any process monitoring means 120 i (i∈ {1, 2,..., N−1, N}) is realized by a dynamic link library incorporated in the monitoring target program 130 i . By configuring the program for realizing the process monitoring means as a dynamic link library in this manner, the monitoring target program can be modified only by adding a code for specifying the library to be used. Can be easily realized.

なお、本明細書におけるダイナミックリンクライブラリとの呼称は、特定のオペレーティングシステムを前提とするものではなく、動的リンクを使ったライブラリを一般的に指すものとする。   Note that the term “dynamic link library” in this specification does not presuppose a specific operating system, but generally refers to a library using dynamic links.

任意のプロセス監視手段120i(i∈{1,2,…,N-1,N})は、プロセス情報登録手段121iと、プロセス停止検知手段122iと、独立プロセス再起動手段123iを含む。 Arbitrary process monitoring means 120 i (i∈ {1, 2,..., N−1, N}) includes process information registration means 121 i , process stop detection means 122 i , and independent process restarting means 123 i . Including.

プロセス情報登録手段121i(i∈{1,2,…,N-1,N})は、プロセス監視手段120iが起動した際にレジストリ110に監視対象プログラム130iのプロセス情報を保存する。プロセス情報の具体例として、プロセスIDと実行ファイルパスが挙げられる。なお、各プロセス監視手段にはレジストリ登録順に1から始まる連続のレジストリ番号が付与されているとする(この明細書では、プロセス監視手段を識別するために付された符号120の添え字をレジストリ番号に一致させている)。 The process information registration unit 121 i (i∈ {1, 2,..., N−1, N}) stores the process information of the monitoring target program 130 i in the registry 110 when the process monitoring unit 120 i is activated. Specific examples of process information include a process ID and an execution file path. In addition, it is assumed that a continuous registry number starting from 1 is assigned to each process monitoring means in the order of registry registration (in this specification, the subscript of reference numeral 120 assigned to identify the process monitoring means is a registry number. To match).

プロセス停止検知手段122i(i∈{1,2,…,N-1,N})は、プロセス監視手段120iの監視対象であるプロセス監視手段120j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視する。例えば、図1に示した環状の監視構成であれば、プロセス停止検知手段122iは、プロセス監視手段120iの監視対象であるプロセス監視手段120i-1(ただし、i=1の場合はプロセス監視手段120Nである)の動作状況を監視する。この監視方法の具体例としては、監視対象のプロセスハンドルを取得してプロセスが停止したシグナルを受信する方法や、セマフォに基づいてオペレーティングシステムが解放するイベントを監視する方法などが挙げられる。 Process stop detection means 122 i (i∈ {1,2, ... , N-1, N}) , the process monitoring means 120 j (j∈ {1,2 is monitored process monitoring unit 120 i, ..., N-1, N}-{i}) is monitored. For example, if the cyclic monitoring configuration shown in FIG. 1, a process stop detection means 122 i, the process monitoring means 120 i-1 is monitored process monitoring unit 120 i (However, in the case of i = 1 Process The operation status of the monitoring means 120 N ) is monitored. Specific examples of this monitoring method include a method of acquiring a process handle to be monitored and receiving a signal indicating that the process has stopped, a method of monitoring an event released by the operating system based on a semaphore, and the like.

独立プロセス再起動手段123i(i∈{1,2,…,N-1,N})は、プロセス停止検知手段122iが監視対象のプロセス監視手段120j(j∈{1,2,…,N-1,N}-{i})の停止を検知した場合に、レジストリ110に登録されているプロセス情報を参照して、プロセス監視手段120iと同じプロセスツリーに含まれないように、停止したプロセス監視手段120jに対応する監視対象プログラム130jを実行して、監視対象プログラム130jによるプロセスを再起動させる。例えば、図1に示した環状の監視構成であれば、独立プロセス再起動手段123iは、プロセス停止検知手段122iが監視対象のプロセス監視手段120i-1(ただし、i=1の場合はプロセス監視手段120Nである)の停止を検知した場合に、レジストリ110に登録されているプロセス情報を参照して、プロセス監視手段120iと同じプロセスツリーに含まれないように、停止したプロセス監視手段120i-1に対応する監視対象プログラム130i-1を実行して、監視対象プログラム130i-1によるプロセスを再起動させる(監視対象プログラム130i-1が実行されると、プロセス監視手段120i-1も起動される)。
ここで、「同じプロセスツリーに含まれないように」とは、プロセス監視手段120iと再起動されるプロセス監視手段120i-1との間の親子関係を分断することであり、これは、例えば、いわゆる二重forkによって実現できる(図2参照)。
つまり、独立プロセス再起動手段123i(i∈{1,2,…,N-1,N})は、プロセス停止検知手段が監視対象の終了を検知すると呼び出され、終了したプロセスを生成(再起動)した後、自プロセス(独立プロセス再起動手段)を終了する。これによって生成(再起動)プロセスは親プロセス(例えば、プロセス監視手段や独立プロセス再起動手段)を持たない孤児プロセスとなる。結果として本来では一つのプロセスツリーでつながっていた、プロセス監視手段と生成(再起動)プロセス(つまり、再起動されたプロセス監視手段)の親子関係が切れ、独立したプロセスツリーへと切り離される。これによって、芋づる式に監視対象プロセスが停止し、最悪の場合に、監視と再起動が実施できなくなることを回避できる。
Independent process restart means 123 i (i∈ {1,2, ... , N-1, N}) , the process stops detecting means 122 i is monitored processes monitoring means 120 j (j∈ {1,2, ... , N-1, N}-{i}) is detected so that the process information registered in the registry 110 is not included in the same process tree as the process monitoring unit 120 i . The monitoring target program 130 j corresponding to the stopped process monitoring unit 120 j is executed to restart the process by the monitoring target program 130 j . For example, in the case of the annular monitoring configuration shown in FIG. 1, the independent process restarting means 123 i is configured so that the process stop detecting means 122 i is the process monitoring means 120 i-1 to be monitored (provided that i = 1). When the stop of the process monitoring unit 120 N is detected, the stopped process monitoring is performed so that it is not included in the same process tree as the process monitoring unit 120 i by referring to the process information registered in the registry 110. run the monitored program 130 i-1 corresponding to the unit 120 i-1, when to restart the process by the monitoring target program 130 i-1 (monitored program 130 i-1 is executed, the process monitoring means 120 i-1 is also activated).
Here, “so as not to be included in the same process tree” means that the parent-child relationship between the process monitoring unit 120 i and the restarted process monitoring unit 120 i-1 is divided. For example, it can be realized by a so-called double fork (see FIG. 2).
In other words, the independent process restarting means 123 i (i∈ {1, 2,..., N-1, N}) is called when the process stop detecting means detects the end of the monitoring target, and generates (re-starts) a process that has ended. After starting), the own process (independent process restarting means) is terminated. As a result, the generation (restart) process becomes an orphan process having no parent process (for example, a process monitoring unit or an independent process restart unit). As a result, the parent-child relationship between the process monitoring unit and the generation (restart) process (that is, the restarted process monitoring unit) originally connected by one process tree is cut off and separated into an independent process tree. As a result, it is possible to prevent the monitoring target process from stopping according to the formula, and in the worst case, monitoring and restart cannot be performed.

なお、このような監視構成によると、N個のプロセス監視手段のうちのN−1個のプロセス監視手段が何らかの事由で終了しても全てのプロセス監視手段を再起動させることができ、とくに環状の監視構成であれば、各プロセス監視手段は前段のプロセス監視手段のプロセスを監視するだけでよいという利点もある。   According to such a monitoring configuration, even if N-1 process monitoring means out of N process monitoring means are terminated for some reason, all the process monitoring means can be restarted. With this monitoring configuration, there is an advantage that each process monitoring means only needs to monitor the process of the preceding process monitoring means.

図1に示す環状監視の例では、任意のプロセス監視手段120i(i∈{1,2,…,N-1,N})は、一つのプロセス監視手段120j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視するとしたが、一つのプロセス監視手段が二つ以上のプロセス監視手段を監視し、あるいは、二つ以上のプロセス監視手段が一つのプロセス監視手段を監視する構成であってもよい。 In the example of the circular monitoring shown in FIG. 1, an arbitrary process monitoring means 120 i (i∈ {1, 2,..., N−1, N}) is converted into one process monitoring means 120 j (j∈ {1,2). , ..., N-1, N}-{i}), but one process monitoring means monitors two or more process monitoring means, or two or more process monitoring means The configuration may be such that one process monitoring means is monitored.

<第2実施形態>
第2実施形態のプロセス監視システム200は、N個(ただし、Nは2以上の予め定められた整数である)の監視対象プログラム2301,2302,…,230N-1,230Nによるそれぞれのプロセスの死活を監視するシステムであり、記憶手段であるレジストリ210と、N個のプロセス監視手段2201,2202,…,220N-1,220Nを含んでいる。N個のプロセス監視手段2201,2202,…,220N-1,220Nはそれぞれレジストリ210にアクセス可能に構成されている。
Second Embodiment
The process monitoring system 200 according to the second embodiment includes N (where N is a predetermined integer of 2 or more) monitoring target programs 230 1 , 230 2 ,..., 230 N−1 , 230 N respectively. , 220 N-1 , 220 N. The system includes a registry 210 as storage means and N process monitoring means 220 1 , 220 2 ,. Each of the N process monitoring units 220 1 , 220 2 ,..., 220 N−1 , 220 N is configured to be able to access the registry 210.

プロセス監視手段2201,2202,…,220N-1,220Nはそれぞれ、プロセス監視手段2201,2202,…,220N-1,220Nのうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、プロセス監視手段2201,2202,…,220N-1,220Nのうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視されるように、プロセス監視手段2201,2202,…,220N-1,220Nの間の監視が構成されている。
つまり、任意のプロセス監視手段220i(i∈{1,2,…,N-1,N})は、少なくとも一つのプロセス監視手段220j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視し、かつ、少なくとも一つのプロセス監視手段220k(k∈{1,2,…,N-1,N}-{i})から自己(つまりプロセス監視手段220i)の動作状況を監視される。
Process monitoring unit 220 1, 220 2, ..., 220 N-1, 220 N, respectively, the process monitoring unit 220 1, 220 2, ..., 220 N-1, 220 at least one process monitoring means other than the self of the N , And at least one process monitoring means other than itself among the process monitoring means 220 1 , 220 2 ,..., 220 N-1 , 220 N is monitored. Monitoring between the process monitoring means 220 1 , 220 2 ,..., 220 N−1 , 220 N is configured.
That is, the arbitrary process monitoring means 220 i (i∈ {1, 2,..., N−1, N}) has at least one process monitoring means 220 j (j∈ {1, 2,..., N−1). N}-{i}) and the self (that is, the process) from at least one process monitoring means 220 k (k∈ {1,2,..., N-1, N}-{i}) The operating status of the monitoring means 220 i ) is monitored.

図3に示す例では、任意のプロセス監視手段と当該プロセス監視手段の監視対象となるプロセス監視手段との間に、プロセス監視手段を識別するために付された符号220の添え字についての巡回置換(N N-1 … 2 1)が成立しているため、複数のプロセス監視手段の間の監視が環状(あるいは循環状と呼称しても差し支えない)に構成されている。つまり、この例では、プロセス監視手段220Nはプロセス監視手段220N-1の動作状況を監視し、プロセス監視手段220N-1はプロセス監視手段220N-2の動作状況を監視し、・・・、プロセス監視手段2202はプロセス監視手段2201の動作状況を監視し、プロセス監視手段2201はプロセス監視手段220Nの動作状況を監視している。 In the example shown in FIG. 3, cyclic permutation of the subscript 220 attached to identify a process monitoring unit between any process monitoring unit and the process monitoring unit to be monitored by the process monitoring unit. Since (N N-1... 2 1) is established, the monitoring between the plurality of process monitoring means is configured in a ring shape (or may be referred to as a circulation shape). That is, in this example, the process monitoring means 220 N monitors the operation status of the process monitoring means 220 N-1, the process monitoring means 220 N-1 monitors the operation status of the process monitoring means 220 N-2, · · -, process monitoring unit 220 2 monitors the operation status of the process monitoring means 220 1, the process monitoring means 220 1 monitors the operation status of the process monitoring means 220 N.

プロセス監視手段2201,2202,…,220N-1,220Nはそれぞれ、N個の監視対象プログラム2301,2302,…,230N-1,230Nのいずれからも分離されている独立のプログラムによって実現される。 Process monitoring unit 220 1, 220 2, ..., 220 N-1, 220 N , respectively, N pieces of monitoring target program 230 1, 230 2, ..., are also separated from any of 230 N-1, 230 N Realized by an independent program.

任意のプロセス監視手段220i(i∈{1,2,…,N-1,N})は、プロセス情報登録手段221iと、プロセス停止検知手段222iと、独立プロセス再起動手段223iを含む。 Arbitrary process monitoring means 220 i (i∈ {1, 2,..., N−1, N}) includes process information registration means 221 i , process stop detection means 222 i , and independent process restarting means 223 i . Including.

プロセス情報登録手段221i(i∈{1,2,…,N-1,N})は、プロセス監視手段220iが起動した際にレジストリ210に、プロセス監視手段220iおよびプロセス監視手段220iの監視対象である監視対象プログラム230iによるプロセスのそれぞれのプロセス情報を保存する。プロセス情報の具体例として、プロセスIDと実行ファイルパスが挙げられる。なお、各プロセス監視手段にはレジストリ登録順に1から始まる連続のレジストリ番号が付与されているとする(この明細書では、プロセス監視手段を識別するために付された符号120の添え字をレジストリ番号に一致させている)。 Process information registration unit 221 i (i∈ {1,2, ... , N-1, N}) is in registry 210 in the process monitoring unit 220 i is activated, the process monitoring unit 220 i and process monitoring unit 220 i The process information of each process by the monitoring target program 230 i that is the monitoring target is stored. Specific examples of process information include a process ID and an execution file path. In addition, it is assumed that a continuous registry number starting from 1 is assigned to each process monitoring means in the order of registry registration (in this specification, the subscript of reference numeral 120 assigned to identify the process monitoring means is a registry number. To match).

プロセス停止検知手段222i(i∈{1,2,…,N-1,N})は、プロセス監視手段220iの監視対象であるプロセス監視手段220j(j∈{1,2,…,N-1,N}-{i})の動作状況およびプロセス監視手段220iの監視対象である監視対象プログラム230iによるプロセスの死活を監視する。例えば、図3に示した環状の監視構成であれば、プロセス停止検知手段222iは、プロセス監視手段220iの監視対象であるプロセス監視手段220i-1(ただし、i=1の場合はプロセス監視手段220Nである)の動作状況およびプロセス監視手段220iの監視対象である監視対象プログラム230iによるプロセスの死活を監視する。この監視方法の具体例としては、監視対象である監視対象プログラムによるプロセスとプロセス監視手段のそれぞれのプロセスハンドルを取得してプロセスが停止したシグナルを受信する方法や、セマフォに基づきオペレーティングシステムが解放するイベントを監視する方法などが挙げられる。 Process stop detection means 222 i (i∈ {1,2, ... , N-1, N}) , the process monitoring means 220 j (j∈ {1,2 is monitored process monitoring unit 220 i, ..., N-1, N}-{i}) and the life and death of the process by the monitoring target program 230 i which is the monitoring target of the process monitoring means 220 i are monitored. For example, if the cyclic monitoring configuration shown in FIG. 3, a process stop detection means 222 i, the process monitoring means 220 i-1 is monitored process monitoring unit 220 i (However, in the case of i = 1 Process monitor the life and death of the operating conditions and process monitoring unit 220 i process by the monitoring target program 230 i is monitored monitoring unit is 220 N). Specific examples of this monitoring method include a method for receiving a process stop signal by acquiring each process handle of a process by a monitoring target program to be monitored and a process monitoring means, or an operating system releasing based on a semaphore. For example, a method for monitoring an event.

独立プロセス再起動手段223i(i∈{1,2,…,N-1,N})は、プロセス停止検知手段222iが監視対象のプロセス監視手段220j(j∈{1,2,…,N-1,N}-{i})または監視対象プログラム230iによるプロセスの停止を検知した場合に、レジストリ210に登録されているプロセス情報を参照して、プロセス監視手段220iと同じプロセスツリーに含まれないように、停止したプロセス監視手段220jを実現するためのプログラムまたは停止した監視対象プログラム230iを実行して、プロセス監視手段220jまたは監視対象プログラム230iによるプロセスを再起動させる。例えば、図3に示した環状の監視構成であれば、独立プロセス再起動手段223iは、プロセス停止検知手段222iが監視対象のプロセス監視手段220i-1(ただし、i=1の場合はプロセス監視手段220Nである)または監視対象プログラム230iによるプロセスの停止を検知した場合に、レジストリ210に登録されているプロセス情報を参照して、プロセス監視手段220iと同じプロセスツリーに含まれないように、停止したプロセス監視手段220i-1を実現するためのプログラムまたは停止した監視対象プログラム230iを実行して、プロセス監視手段220i-1または監視対象プログラム230iによるプロセスを再起動させる。
ここで、「同じプロセスツリーに含まれないように」とは、プロセス監視手段220iと再起動されるプロセス監視手段220i-1との間の親子関係、あるいは、プロセス監視手段220iと再起動される監視対象プログラム230iによるプロセスとの間の親子関係、を分断することであり、これは、例えば、いわゆる二重forkによって実現できる(図2参照)。
つまり、独立プロセス再起動手段223i(i∈{1,2,…,N-1,N})は、プロセス停止検知手段が監視対象の終了を検知すると呼び出され、終了したプロセスを生成(再起動)した後、自プロセス(独立プロセス再起動手段)を終了する。これによって生成(再起動)プロセスは親プロセス(例えば、プロセス監視手段や独立プロセス再起動手段)を持たない孤児プロセスとなる。結果として本来では一つのプロセスツリーでつながっていた、プロセス監視手段と生成(再起動)プロセス(つまり、再起動されたプロセス)の親子関係が切れ、独立したプロセスツリーへと切り離される。これによって、芋づる式に監視対象プロセスが停止し、最悪の場合に、監視と再起動が実施できなくなることを回避できる。
Independent process restart means 223 i (i∈ {1,2, ... , N-1, N}) , the process processes stop detection means 222 i is monitored monitoring unit 220 j (j∈ {1,2, ... , N-1, N}-{i}) or process stop by the monitored program 230 i, the process information registered in the registry 210 is referred to, and the same process as the process monitoring means 220 i A program for realizing the stopped process monitoring unit 220 j or the stopped monitoring target program 230 i is executed so as not to be included in the tree, and the process by the process monitoring unit 220 j or the monitoring target program 230 i is restarted. Let For example, in the annular monitoring configuration shown in FIG. 3, the independent process restarting means 223 i uses the process monitoring detecting means 222 i as the monitoring target process monitoring means 220 i-1 (where i = 1). Process monitoring means 220 N ) or the process information registered in the registry 210 is detected in the same process tree as the process monitoring means 220 i when a process stoppage by the monitoring target program 230 i is detected. The program for realizing the stopped process monitoring unit 220 i-1 or the stopped monitoring target program 230 i is executed so that the process monitoring unit 220 i-1 or the monitoring target program 230 i is restarted. Let
Here, "so that it does not contain the same process-tree", the parent-child relationship between the process monitoring unit 220 i-1 is activated again and the process monitoring unit 220 i, or re and process monitoring unit 220 i This is to divide the parent-child relationship with the process by the monitoring target program 230 i to be started, and this can be realized by, for example, so-called double fork (see FIG. 2).
That is, the independent process restarting means 223 i (i∈ {1, 2,..., N−1, N}) is called when the process stop detecting means detects the end of the monitoring target, and generates (re-starts) a process that has ended. After starting), the own process (independent process restarting means) is terminated. As a result, the generation (restart) process becomes an orphan process having no parent process (for example, a process monitoring unit or an independent process restart unit). As a result, the parent-child relationship between the process monitoring means and the generation (restart) process (that is, the restarted process) originally connected by one process tree is cut off and separated into an independent process tree. As a result, it is possible to prevent the monitoring target process from stopping according to the formula, and in the worst case, monitoring and restart cannot be performed.

第2実施形態によると、第1実施形態と比較して、一つのプロセス監視手段が監視する対象の数は1から2に増加するが、プロセス監視手段を実現するためのプログラムが監視対象プログラムから分離されているため、監視対象プログラムに何らの変更を加える必要がない。   According to the second embodiment, compared with the first embodiment, the number of targets monitored by one process monitoring unit increases from 1 to 2, but the program for realizing the process monitoring unit is changed from the monitoring target program. Because they are separated, there is no need to make any changes to the monitored program.

なお、第2実施形態においても、上述の監視構成によると、N個のプロセス監視手段のうちのN−1個のプロセス監視手段が何らかの事由で終了しても全てのプロセス監視手段を再起動させることができ、とくに環状の監視構成であれば、各プロセス監視手段は前段のプロセス監視手段のプロセスを監視するだけでよいという利点もある。   Also in the second embodiment, according to the above-described monitoring configuration, even if N-1 process monitoring means out of N process monitoring means are terminated for some reason, all process monitoring means are restarted. In particular, in the case of an annular monitoring configuration, there is also an advantage that each process monitoring means only needs to monitor the process of the preceding process monitoring means.

図3に示す環状監視の例では、任意のプロセス監視手段220i(i∈{1,2,…,N-1,N})は、一つのプロセス監視手段220j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視するとしたが、一つのプロセス監視手段が二つ以上のプロセス監視手段を監視し、あるいは、二つ以上のプロセス監視手段が一つのプロセス監視手段を監視する構成であってもよい。 In the example of the annular monitoring shown in FIG. 3, any process monitoring means 220 i (i∈ {1, 2,..., N−1, N}) is converted into one process monitoring means 220 j (j∈ {1,2). , ..., N-1, N}-{i}), but one process monitoring means monitors two or more process monitoring means, or two or more process monitoring means The configuration may be such that one process monitoring means is monitored.

<補記>
プロセス監視システムは、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary note>
The process monitoring system includes, for example, as a single hardware entity, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, and a communication device (for example, a communication cable) capable of communicating outside the hardware entity. Connectable communication unit, CPU (Central Processing Unit) (may include a cache memory or a register), RAM or ROM as a memory, external storage device as a hard disk, and their input unit, output unit, communication unit , A CPU, a RAM, a ROM, and a bus connected so that data can be exchanged between the external storage devices. If necessary, a hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM. A physical entity having such hardware resources includes a general-purpose computer.

ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。   The external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device). Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.

ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(プロセス監視手段)を実現する。   In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate. . As a result, the CPU realizes a predetermined function (process monitoring means).

Claims (5)

複数の監視対象プログラムによるそれぞれのプロセスの死活を監視するプロセス監視システムであって、
記憶手段と、
複数のプロセス監視手段と
を含み、
各上記プロセス監視手段が、複数の上記プロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視される、ように複数の上記プロセス監視手段の間の監視が構成されており、
各上記プロセス監視手段は、
複数の上記監視対象プログラムのうち対応する監視対象プログラムに組み込まれるプログラムによって実現され、
当該プロセス監視手段が起動した際に上記記憶手段にプロセス情報を保存するプロセス情報登録手段と、
セマフォに基づきオペレーティングシステムが解放するイベントを監視することによって、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況を監視するプロセス停止検知手段と、
上記プロセス停止検知手段が監視対象であるプロセス監視手段の停止を検知した場合に、上記記憶手段に登録された上記プロセス情報を参照して上記停止したプロセス監視手段に対応する監視対象プログラムを実行した後、自プロセスを終了させる独立プロセス再起動手段と
を含み、
各上記プロセス監視手段を実現する上記プログラムはダイナミックリンクライブラリとして構成されている
ことを特徴とするプロセス監視システム。
A process monitoring system for monitoring the life and death of each process by a plurality of monitored programs,
Storage means;
A plurality of process monitoring means,
Each of the process monitoring means monitors the operating status of at least one process monitoring means other than itself among the plurality of process monitoring means, and at least one process monitoring means other than itself among the plurality of process monitoring means Monitoring between a plurality of the above process monitoring means is configured so that its own operation status is monitored,
Each of the above process monitoring means
Realized by a program incorporated in the corresponding monitoring target program among the plurality of monitoring target programs,
Process information registration means for storing process information in the storage means when the process monitoring means is activated;
A process stop detection means for monitoring the operating status of the process monitoring means to be monitored by the process monitoring means by monitoring an event released by the operating system based on the semaphore ;
When the process stop detection unit detects the stop of the process monitoring unit being monitored, the monitoring target program corresponding to the stopped process monitoring unit is executed with reference to the process information registered in the storage unit And an independent process restarting means for terminating the own process,
A process monitoring system, wherein the program for realizing each of the process monitoring means is configured as a dynamic link library.
複数の監視対象プログラムによるそれぞれのプロセスの死活を監視するプロセス監視システムであって、
記憶手段と、
複数のプロセス監視手段と
を含み、
各上記プロセス監視手段が、複数の上記プロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視される、ように複数の上記プロセス監視手段の間の監視が構成されており、
各上記プロセス監視手段は、
当該プロセス監視手段が起動した際に上記記憶手段に、当該プロセス監視手段および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスのそれぞれのプロセス情報を保存するプロセス情報登録手段と、
セマフォに基づきオペレーティングシステムが解放するイベントを監視することによって、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスの死活を監視するプロセス停止検知手段と、
上記プロセス停止検知手段が監視対象であるプロセス監視手段または監視対象プログラムによるプロセスの停止を検知した場合に、上記記憶手段に登録された上記プロセス情報を参照して上記停止したプロセス監視手段または監視対象プログラムによるプロセスを再起動した後、自プロセスを終了させる独立プロセス再起動手段と
を含み、
各上記プロセス監視手段を実現するプログラムはそれぞれ各上記監視対象プログラムから分離されている
ことを特徴とするプロセス監視システム。
A process monitoring system for monitoring the life and death of each process by a plurality of monitored programs,
Storage means;
A plurality of process monitoring means,
Each of the process monitoring means monitors the operating status of at least one process monitoring means other than itself among the plurality of process monitoring means, and at least one process monitoring means other than itself among the plurality of process monitoring means Monitoring between a plurality of the above process monitoring means is configured so that its own operation status is monitored,
Each of the above process monitoring means
A process information registering unit for storing process information of each of the processes by the monitoring target program that is the monitoring target of the process monitoring unit and the process monitoring unit in the storage unit when the process monitoring unit is activated;
By monitoring an event released by the operating system based on the semaphore, the operation status of the process monitoring unit monitored by the process monitoring unit and the life and death of the process by the monitoring target program monitored by the process monitoring unit are monitored. Process stop detection means;
When the process stop detection unit detects a process stop by the process monitoring unit or the monitoring target program that is a monitoring target, the process monitoring unit or the monitoring target stopped by referring to the process information registered in the storage unit An independent process restarting means for terminating the process after restarting the process by the program,
A process monitoring system, wherein a program for realizing each of the process monitoring means is separated from each of the monitoring target programs.
請求項1または請求項2に記載のプロセス監視システムにおいて、
上記プロセス監視手段の個数は、上記監視対象プログラムの個数と同じであり、
各上記プロセス監視手段は、複数の上記プロセス監視手段のうち自己以外の一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の一つのプロセス監視手段から自己の動作状況を監視されることにより、複数の上記プロセス監視手段の間の監視が環状に構成されている
ことを特徴とするプロセス監視システム。
In the process monitoring system according to claim 1 or 2 ,
The number of the process monitoring means is the same as the number of the monitoring target programs,
Each of the process monitoring means monitors the operation status of one process monitoring means other than itself among the plurality of process monitoring means, and self-monitors from one process monitoring means other than itself among the plurality of process monitoring means. The process monitoring system is characterized in that the monitoring between the plurality of process monitoring means is configured in a ring shape by monitoring the operation status of the process.
記憶手段と、
それぞれが、複数の監視対象プログラムのうち対応する監視対象プロセスに組み込まれるダイナミックリンクライブラリによって実現される、複数のプロセス監視手段と
を含み、
各上記プロセス監視手段が、複数の上記プロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視される、ように複数の上記プロセス監視手段の間の監視が構成されている
プロセス監視システムにおけるプロセス監視方法であって、
各上記プロセス監視手段が、当該プロセス監視手段が起動した際に上記記憶手段にプロセス情報を保存するプロセス情報登録ステップと、
各上記プロセス監視手段が、セマフォに基づきオペレーティングシステムが解放するイベントを監視することによって、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況を監視するプロセス停止検知ステップと、
各上記プロセス監視手段が、上記プロセス停止検知ステップにて監視対象であるプロセス監視手段の停止を検知した場合に、上記記憶手段に登録された上記プロセス情報を参照して上記停止したプロセス監視手段に対応する監視対象プログラムを実行した後、自プロセスを終了させる独立プロセス再起動ステップと
を有することを特徴とするプロセス監視方法。
Storage means;
Each including a plurality of process monitoring means realized by a dynamic link library incorporated in a corresponding monitored process among the plurality of monitored programs,
Each of the process monitoring means monitors the operating status of at least one process monitoring means other than itself among the plurality of process monitoring means, and at least one process monitoring means other than itself among the plurality of process monitoring means A process monitoring method in a process monitoring system in which monitoring between a plurality of the process monitoring means is configured such that the operation status of the process is monitored from
Each of the process monitoring means stores a process information registration step for storing process information in the storage means when the process monitoring means is activated,
A process stop detection step in which each of the process monitoring means monitors an operation status of the process monitoring means that is a monitoring target of the process monitoring means by monitoring an event released by the operating system based on the semaphore ;
When each of the process monitoring means detects the stop of the process monitoring means to be monitored in the process stop detection step, the process monitoring means refers to the process information registered in the storage means to the stopped process monitoring means. A process monitoring method comprising: an independent process restarting step for terminating the own process after executing a corresponding monitoring target program.
記憶手段と、
それぞれが、複数の監視対象プログラムのそれぞれから分離されているプログラムによって実現される、複数のプロセス監視手段と
を含み、
各上記プロセス監視手段が、複数の上記プロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視される、ように複数の上記プロセス監視手段の間の監視が構成されている
プロセス監視システムにおけるプロセス監視方法であって、
各上記プロセス監視手段が、当該プロセス監視手段が起動した際に上記記憶手段に、当該プロセス監視手段および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスのそれぞれのプロセス情報を保存するプロセス情報登録ステップと、
各上記プロセス監視手段が、セマフォに基づきオペレーティングシステムが解放するイベントを監視することによって、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスの死活を監視するプロセス停止検知ステップと、
各上記プロセス監視手段が、上記プロセス停止検知ステップにて監視対象であるプロセス監視手段または監視対象プログラムによるプロセスの停止を検知した場合に、上記記憶手段に登録された上記プロセス情報を参照して上記停止したプロセス監視手段または監視対象プログラムによるプロセスを再起動した後、自プロセスを終了させる独立プロセス再起動ステップと
を有することを特徴とするプロセス監視方法。
Storage means;
Each including a plurality of process monitoring means realized by a program separated from each of the plurality of monitoring target programs,
Each of the process monitoring means monitors the operating status of at least one process monitoring means other than itself among the plurality of process monitoring means, and at least one process monitoring means other than itself among the plurality of process monitoring means A process monitoring method in a process monitoring system in which monitoring between a plurality of the process monitoring means is configured such that the operation status of the process is monitored from
Process information in which each process monitoring unit stores process information of each process by the monitoring unit program monitored by the process monitoring unit and the process monitoring unit in the storage unit when the process monitoring unit is activated Registration step;
Each of the process monitoring means monitors an event released by the operating system based on the semaphore, so that the operation status of the process monitoring means that is the monitoring target of the process monitoring means and the monitoring target program that is the monitoring target of the process monitoring means A process stop detection step for monitoring the process life and death caused by
When each process monitoring unit detects a process stop by the process monitoring unit or the monitoring target program that is a monitoring target in the process stop detection step, the process monitoring unit refers to the process information registered in the storage unit A process monitoring method comprising: an independent process restarting step for terminating the own process after restarting the process by the stopped process monitoring means or the monitoring target program.
JP2013217071A 2013-10-18 2013-10-18 Process monitoring system and process monitoring method Active JP5986974B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013217071A JP5986974B2 (en) 2013-10-18 2013-10-18 Process monitoring system and process monitoring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013217071A JP5986974B2 (en) 2013-10-18 2013-10-18 Process monitoring system and process monitoring method

Publications (2)

Publication Number Publication Date
JP2015079413A JP2015079413A (en) 2015-04-23
JP5986974B2 true JP5986974B2 (en) 2016-09-06

Family

ID=53010775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013217071A Active JP5986974B2 (en) 2013-10-18 2013-10-18 Process monitoring system and process monitoring method

Country Status (1)

Country Link
JP (1) JP5986974B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319720A (en) * 1996-05-31 1997-12-12 Mitsubishi Electric Corp Distributed process managing system
JP3577234B2 (en) * 1999-02-15 2004-10-13 日本電信電話株式会社 Process management equipment
JP5511506B2 (en) * 2010-05-25 2014-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus having resistance against forced termination attack of monitoring program for monitoring predetermined resource, method for imparting resistance against forced termination attack of monitoring program for monitoring predetermined resource, and computer program capable of executing the method by the apparatus
JP5737055B2 (en) * 2011-08-18 2015-06-17 三菱電機株式会社 Program monitoring system

Also Published As

Publication number Publication date
JP2015079413A (en) 2015-04-23

Similar Documents

Publication Publication Date Title
US9535794B2 (en) Monitoring hierarchical container-based software systems
US20160140164A1 (en) Complex event processing apparatus and complex event processing method
CN109408232B (en) Transaction flow-based componentized bus calling execution system
TW201537461A (en) Framework for user-mode crash reporting
US11157373B2 (en) Prioritized transfer of failure event log data
US20140122931A1 (en) Performing diagnostic tests in a data center
US20130179729A1 (en) Fault tolerant system in a loosely-coupled cluster environment
US9436539B2 (en) Synchronized debug information generation
JP2012234336A (en) Method and system for executing monitoring-target process
US10353786B2 (en) Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program
US9471403B1 (en) Granular event management for service platforms
JP2019527429A (en) Anomaly detection using system call sequence
US10740166B2 (en) Thread based dynamic data collection
EP3362900A1 (en) Telemetry system extension
US20180137275A1 (en) Malware collusion detection
JP2013522741A (en) Method, apparatus, and computer program in a multi-threaded computing environment for collecting diagnostic data
US8417805B2 (en) Controlling execution of services across servers
JP5986974B2 (en) Process monitoring system and process monitoring method
US9384120B2 (en) Testing of transaction tracking software
JP5712243B2 (en) Monitoring processing method, monitoring processing apparatus and monitoring processing system
US10481993B1 (en) Dynamic diagnostic data generation
US10223238B1 (en) Multiple-stage crash reporting
JP4668596B2 (en) Communication terminal, server device and monitoring system
US11449411B2 (en) Application-specific log routing
JPWO2013105186A1 (en) Service level management apparatus, program, and method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160808

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5986974

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150