4

Windows 2003/2008 サーバーで実行されるアプリがいくつかあります。これらのアプリの一部はScheduled Task、app.cmd ファイルを使用して開始される Java JAR ファイルです。

その他は、SQL Server や IIS のような「大きなもの」です。

これらのプログラムを単純に監視し、それらが実行されているかどうかを確認するアプリ (または実際にはサービス) を作成したいと思います。

これは、私が以前に行ったことを少し超えています。ああ、これは C# で書く必要があります。

ある種の「ハートビート」パターンを考えていたので、数分ごとにスレッドが実行されているかどうかを確認し (これも新しい高度なスレッド)、実行されている場合は、「すべて OK」メッセージを送信します (SMTP などを使用)。 .

始めるためのヒントはありますか?

提案をありがとう。

4

2 に答える 2

2

使用できますProcess.GetProcesses()

このメソッドを使用して、新しい Process コンポーネントの配列を作成し、それらをローカル コンピューター上のすべてのプロセス リソースに関連付けます。

于 2011-04-08T02:08:56.580 に答える
2

おそらく、各アプリケーションをケースバイケースで処理する必要があります。たとえば、SQL Server プロセスの存在を確認することはできますが、(たとえば) 特定のプロセスの存在を確認するクエリを実行する方がよいでしょう。サーバー内のデータベース。

同様に、IIS サーバーに対して単純な HTTP 要求を実行して、権限が正しく設定されていることを確認することもできます。

明らかに、Java プロセスをテストする方法はプロセスによって異なりますが、プロセスが実行されているかどうかを確認することもできます (サービスとして実行されている場合は、svchost のいずれかの内部で実行されている可能性があることに注意してください)。 .exe プロセス - これはスケジュールされたタスクには適用されません)。

于 2011-04-08T02:26:08.693 に答える