> 백엔드 개발 > C++ > GUI를 정지하지 않고 C#에서 프로세스 종료를 비동기적으로 기다릴 수 있는 방법은 무엇입니까?

GUI를 정지하지 않고 C#에서 프로세스 종료를 비동기적으로 기다릴 수 있는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-04 14:25:43
원래의
432명이 탐색했습니다.

How Can I Asynchronously Wait for Process Exit in C# Without Freezing the GUI?

비동기적으로 프로세스 종료 대기

많은 애플리케이션에서 더 진행하기 전에 프로세스가 종료될 때까지 기다리는 것이 필수적입니다. 그러나 Process.WaitForExit()를 사용하면 그래픽 사용자 인터페이스(GUI)가 정지될 수 있습니다. 이 문제를 방지하려면 이벤트 기반 또는 스레드 기반 솔루션이 필요합니다.

이벤트 기반 접근 방식

.NET 4.0/C# 5부터 비동기 패턴은 대기 프로세스를 표현하는 보다 우아한 방법을 제공합니다. WaitForExitAsync() 메서드를 Process 클래스에 추가하면 애플리케이션이 프로세스가 종료될 때까지 비동기적으로 기다릴 수 있습니다.

public static Task WaitForExitAsync(this Process process, CancellationToken cancellationToken = default(CancellationToken))
로그인 후 복사

메서드 내부: