반응형
프로세스가 끝날 때까지 기다리십시오
나는 응용 프로그램을 가지고
Process.Start()
다른 애플리케이션 'ABC'를 시작합니다. 해당 응용 프로그램이 종료 될 때까지 기다렸다가 프로세스가 계속 진행되고 싶습니다. 어떻게하니?애플리케이션 'ABC'의 인스턴스가 동시에 여러 개있을 수 있습니다.
나는 당신이 이것을 원한다고 생각합니다.
var process = Process.Start(...);
process.WaitForExit();
방법 은
를 참조하십시오 . 또한 시간 초과를 지정할 수있는 과부하가 있으므로 영원히 기다릴 필요가 없습니다.
사용
? 또는
차단하지 않으려면 이벤트를 구독 하시겠습니까? 그래도 원하는 방식으로 작동하지 않으면 요구 사항에 대한 자세한 정보를 알려주십시오.
내 응용 프로그램에서 다음을 수행합니다.
Process process = new Process();
process.StartInfo.FileName = executable;
process.StartInfo.Arguments = arguments;
process.StartInfo.ErrorDialog = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
process.Start();
process.WaitForExit(1000 * 60 * 5); // Wait up to five minutes.
유용한 몇 가지 추가 기능이 있습니다 ...
종료 대기를 사용하거나 HasExited 속성을 포착하고 UI를 업데이트하여 사용자에게 "알림"을 유지 (예측 관리) 할 수 있습니다.
System.Diagnostics.Process process = System.Diagnostics.Process.Start("cmd.exe");
while (!process.HasExited)
{
//update UI
}
//done
Process.HasExited
프로세스에 속한 창을 닫은 후에 변경되지 않은 경우가있었습니다 . 그래서
Process.WaitForExit()
작동하지 않았습니다. 나는
Process.Responding
창문을 닫은 후 거짓으로 된 것을 모니터링 해야했습니다.
while (!_process.HasExited && _process.Responding) {
Thread.Sleep(100);
}
...
아마도 이것은 누군가를 도울 것입니다.
는 당신이 찾고있는 것이어야합니다.
Jon Skeet이 말했듯이 다음을 사용하십시오
Process.Exited
.
proc.StartInfo.FileName = exportPath + @"\" + fileExe;
proc.Exited += new EventHandler(myProcess_Exited);
proc.Start();
inProcess = true;
while (inProcess)
{
proc.Refresh();
System.Threading.Thread.Sleep(10);
if (proc.HasExited)
{
inProcess = false;
}
}
private void myProcess_Exited(object sender, System.EventArgs e)
{
inProcess = false;
Console.WriteLine("Exit time: {0}\r\n" +
"Exit code: {1}\r\n", proc.ExitTime, proc.ExitCode);
}
이 시도:
string command = "...";
var process = Process.Start(command);
process.WaitForExit();
참고 URL :
https://stackoverflow.com/questions/3147911/wait-until-a-process-ends
반응형
'programing' 카테고리의 다른 글
나뭇 가지 : if 문 내에서 in_array 또는 이와 비슷한가? (0) | 2020.05.12 |
---|---|
.NET 어셈블리 란 무엇입니까? (0) | 2020.05.12 |
각도 2 단위 테스트 : 'describe'이름을 찾을 수 없습니다 (0) | 2020.05.12 |
DOM 요소를 첫 번째 자식으로 설정하는 방법은 무엇입니까? (0) | 2020.05.12 |
PowerShell에서 명령 실행 타이밍 (0) | 2020.05.12 |