PID(プログラム自体から起動していない)がもう存在しなくなるまで待つ方法を教えてください。 私のプログラムは、外部プログラムからコマンドラインパラメータを介してPIDを取得し、それが終了して何かをするのを待ってください。外部のPIDが終了するのを待つ
私はそれを探しましたが、私が見つけたのは、プロセスがC#プログラム自体によって起動された例でした。それは..私はこのような何かを行っていたが、それは明らかに動作しません。..
それは達成することができますどのようにProcess[] pname = Process.GetProcessById(7860);
if (pname.Length == 0)
Console.WriteLine("nothing");
else
Console.WriteLine("run");
管理するのは簡単ですか!
@RaymondChen:彼らは非常に同じコードで開始したプロセスを待っている参照問題になっているとまったく同じではない厥を。 – wonko79
@ wonko79:重複したQ&Aに記載されていない部分は、不可能な部分です。ランダムなプロセスが興味のあるアプリケーションの標準I/Oハンドルを丁度適切なタイミングで見つけ、プロセスIDをパイプするために使用します。 – IInspectable
[この回答](http://stackoverflow.com/a/6723758/902497)は、特定の複製です。 "プロセスを作成/接続し、終了するまでブロックするためにWaitForExit()を使用するか、アプリケーションの終了を待っている間にアプリケーションをブロックしたくない場合は、OnExitedイベントを使用します。この特定の質問は、「アタッチ」ケースを使用しています。 –