• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プロセス監視)

Windows2000上で動くプロセス監視プログラムの開発方法とは?

このQ&Aのポイント
  • VisualBasic6.0を使用して、Windows2000上で動くプロセス監視プログラムを開発しています。
  • 監視対象のプロセスを起動させた際に取得したPIDを元に、起動状態の監視を行っていますが、他のプロセスが起動した際に、PIDが割り当てられる可能性があります。
  • PID割当ての仕組みについて詳しい方、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-before
  • ベストアンサー率50% (3/6)
回答No.1

PIDは32(確か)から順番に割り振られるので重複はないです。同じプログラムを起動しても別々の番号が入ります。 (0~31は予約済みで、PID取得関数ではエラー番号が割り振られているはず。) 気にしなければいけないのは16bitアプリで、exeを叩いてもcmd.exe起動→16bitアプリ起動→cmd.exe終了ということを行うようで、PID取得関数にはcmd.exeのPIDしか取得できない場合があります。 (関数一発で行うことができないだけで、方法はあると思います。) 今時16bitで動作するプログラムは無いと思われますが、一応覚えておいても損はないと思います。

noname#139383
質問者

お礼

n-beforeさん、ご返事ありがとうございます。 PIDが同時に重複して振られることはないですが、落ちたb.exeに割り振られていたPIDが、b.exeが落ちた後に立ち上がった他のプログラムに割り当てられてしまうことはないのかなと思いまして。 監視プログラムを動かしてタスクスケジューラでプログラムのPIDをみてみたところ、どうもシーケンシャルに振られていないようないようなのですが。

関連するQ&A