実行中の 2 つのプロセス (Windows7 prof では foo.cmd と bar.cmd) があり、どちらも他のプロセスがまだ実行されているかどうかを頻繁にチェックします。各プロセスは変数内の他のプロセスの PID を知っているので、%FPID%
このように他のプロセスがまだ実行されているかどうかを確認していました。
FOR /F "tokens=1,*" %%a in ('tasklist /FI "PID eq %FPID%" /NH ^| find /C "%FPID%"') do set COUNTP=%%a
%COUNTP%
が 0 より大きい場合は、他のプロセスがまだ実行されていました。
しかし%COUNTP%
、他のプロセスが実際にまだ実行されていても、時々 0 に等しくなります (ログファイルにはまだ書き込まれます)。1秒後、再び見つけることができました。
- 上記のステートメントのように、実行中のプロセスを ID で見つけられないのはどのような状況ですか?
- 特定の PID のプロセスがまだアクティブで実行中 (Windows 上) であるかどうかを確認するためのより良い/より良い/より高速な方法はありますか?