C# 콘솔 애플리케이션에서 Ctrl C(SIGINT)를 처리하는 방법
C# 콘솔 애플리케이션의 일반적인 시나리오는 사용자가 정리 프로세스를 관리하는 것입니다. Ctrl C(SIGINT)를 누릅니다. 이 신호는 애플리케이션이 현재 실행을 중단하고 종료하도록 요청합니다. 잘 구조화되고 사용자 친화적인 애플리케이션을 구현하려면 이 신호를 트랩하는 방법을 이해하는 것이 중요합니다.
Console.CancelKeyPress 이벤트 사용
Ctrl을 가로채는 기본 방법 C#의 C는 Console.CancelKeyPress 이벤트를 통해 이루어집니다. 이 이벤트는 사용자가 Ctrl C를 누를 때 트리거됩니다. 이에 대한 응답으로 프로그램이 종료되기 전에 수행하려는 정리 작업이 포함된 대리자를 정의할 수 있습니다.
다음은 Console.CancelKeyPress 이벤트 사용의 예입니다.
public static void Main(string[] args) { Console.CancelKeyPress += delegate { // Perform cleanup operations here }; while (true) // Keep the program running until Ctrl+C is pressed { } }
사용자가 Ctrl C를 누르면 Console.CancelKeyPress 이벤트에 할당된 위임이 실행되어 필요한 작업을 수행할 수 있습니다. 정리.
장기 실행 작업 처리
일부 시나리오에서는 애플리케이션이 즉시 중단할 수 없는 장기 실행 작업을 수행할 수 있습니다. 이러한 경우 Console.CancelKeyPress를 사용하는 것은 적절하지 않을 수 있습니다.
대체 솔루션은 set-reset 이벤트를 사용하는 것입니다. 수동 재설정으로 이벤트를 생성하고 Console.CancelKeyPress 이벤트에 할당된 대리자에서 이를 구독합니다. 사용자가 Ctrl C를 누르면 이벤트를 설정합니다. 메인 루프는 이벤트 상태를 확인하고 이벤트가 설정되면 정상적으로 종료할 수 있습니다.
결론
C# 콘솔 애플리케이션에서 Ctrl C(SIGINT)를 트랩하는 것은 필수적입니다. 사용자가 프로그램을 중단하고 정상적으로 종료할 수 있도록 합니다. Console.CancelKeyPress 이벤트나 set-reset 이벤트와 같은 대체 접근 방식을 활용하면 Ctrl C 신호를 효과적으로 처리하고 사용자 친화적인 애플리케이션을 유지할 수 있습니다.
위 내용은 C# 콘솔 애플리케이션에서 Ctrl C 인터럽트를 어떻게 원활하게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!