VB2013・Windows10WinFormのバックグラウンド処理で、以下のように別プロセスを呼び出すことがあります。p.ExitCodeただ、呼び出したプロセスが何らかの理由でコケてた場合、ExitCodeすら返ってこない場合があります。その場合、p.WaitForExit()の所で処理が止まってしまいます。非同期でプロセスを呼び出せばいいのでしょうけれど、その場合、プロセスのExit検知はUIスレッド側で受け取ることになるでしょうか?また、呼び出したプロセスの生死を判断することは可能でしょうか?(例えばタイマー等で定期的にプロセスの生死状態を確認する、等)よろしくお願いします。メソッドを試してみてください。その場合、p.WaitForExit()の所で処理が止まってしまいます。使ってみるのはどうでしょう。その場合、p.WaitForExit()の所で処理が止まってしまいます。対象のタスクは消えていますか?消えていないなら、それが原因です。以下、その状況だと仮定してのアドバイスです。プロセスは終了しているように見えているからこその、今回の質問だと思いますので、プロセスがタスクバーから消えている状態で、プロセスが生き残っていると思われます。終了処理の最中、メインウィンドウは非表示となって、例外発生のために、プロセスが残ってしまったとかはあり得そうな話です。