タスク マネージャーに 8 文字の短い名前で表示されるプロセス

タスク マネージャーに 8 文字の短い名前で表示されるプロセス

定期的に停止するプロセスを持つサーバーが 2 台あります。このプロセスを、taskkill コマンド (およびその他のいくつかのコマンド) を実行する VBS スクリプトで強制終了します。問題は、プロセス名が常に変更されることです。ある時点では、プロセス名は「FusionLoanSvr.exe」と表示されていましたが、最終的には「Fusion~1.exe」に変わり、現在は「Fusion~2.exe」になっています。

プロセス名が変更されると、変更が発生するたびにスクリプトを変更する必要があり、当然ながらすべてのサーバー間で一貫性が保たれません。

短い名前が使用される理由、それが ~2 に増分された理由、短い名前の使用を停止する方法、またはタスク マネージャーに表示される正確な EXE 名を参照せずにスクリプトを使用してプロセスを強制終了する方法を知っている人はいますか?

ありがとう!

答え1

うーん。

これは、IIS アプリで見た同様の動作に基づいた、多少の (知識に基づいた) 推測です。

アプリケーションが IIS によって初めて起動されるときは、EXE ファイルと同じ名前で呼び出されると思います。
何らかの理由で、IIS はプロセスの 2 番目のコピーを生成します。これは name~1.exe という名前を取得します。3 番目のコピーは name˜2.exe という名前を取得します。

追加のプロセスが生成される理由は、最初のプロセスが応答しなくなったためである可能性があります。
また、2 番目のプロセスが起動されたために最初のプロセスがハングしている可能性もあります。(両方のプロセスが同じリソースにアクセスしようとしてデッドロックが発生している可能性があります。)

私の経験では、このような問題は IIS アプリケーション プールやワーカー スレッドの構成ミスによって発生することがよくあります。

とにかく、ちょっとした手っ取り早いハックが思い浮かびます。name˜1.exe がメモリ内にあるかどうかを定期的にチェックするだけです。メモリ内にある場合、問題が発生しています。
その後、˜9.exe、˜8.exe .... ˜1.exe、name.exe があるかどうかに関係なく、それらを強制終了します。

関連情報