Как подождать, пока PID (не запущенный из самой программы) больше не существует? Я хочу, чтобы моя программа получала PID из внешней программы через параметр командной строки и просто ждала ее выхода и затем что-то сделала.C# ждать выхода внешнего PID
Я искал его, но все, что я мог найти, было примерами, когда процесс был запущен самой программой C#. Это легко управлять ..
я собирался что-то вроде этого, но это, очевидно, не работает ..
Process[] pname = Process.GetProcessById(7860);
if (pname.Length == 0)
Console.WriteLine("nothing");
else
Console.WriteLine("run");
Как это может быть достигнуто?
@RaymondChen: То не точно так же, как и в ссылочного вопросе они ждут процесс начался в том же коде. – wonko79
@ wonko79: Часть, не адресованная в дубликат Q & A, является невозможной частью. Тот, где случайный процесс волшебным образом находит стандартные ручки ввода-вывода заинтересованного приложения, как раз в нужное время, и использует их для соединения своего идентификатора процесса. – IInspectable
[Этот ответ] (http://stackoverflow.com/a/6723758/902497) является конкретным дубликатом. «Создайте/Присоединитесь к процессу, а затем используйте« WaitForExit() »для блокировки до его выхода или используйте событие« OnExited », если вы не хотите, чтобы ваше приложение блокировалось, пока оно ждет выхода приложения». Этот конкретный вопрос используется в случае «прикрепления». –