> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 SIGINT 중단을 적절하게 처리하는 방법은 무엇입니까?

Python에서 SIGINT 중단을 적절하게 처리하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-25 22:36:14
원래의
205명이 탐색했습니다.

How to Gracefully Handle SIGINT Interruptions in Python?

Python 스크립트에서 SIGINT 중단 처리

여러 프로세스와 데이터베이스 연결을 실행하는 Python 스크립트로 작업할 때 SIGINT(Ctrl C) 중단을 수신하면 정상적으로 종료됩니다. 종종 바람직합니다. 이 경우 필요한 정리 작업을 수행하려면 SIGINT에 대한 핸들러를 등록해야 합니다.

Perl의 SIGINT 처리와 동일한 Python

Python에서 Perl의 SIGINT 처리와 유사한 기능을 얻으려면 다음을 활용하세요. signal.signal 함수는 다음과 같습니다. 다음:

import signal
import sys

def signal_handler(sig, frame):
    print('You pressed Ctrl+C!')
    sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
signal.pause()
로그인 후 복사

설명

  • 핸들러 등록: signal.signal(signal.SIGINT, signal_handler) 행은 signal_handler 함수를 지정된 대로 할당합니다. 모든 SIGINT 신호에 대한 처리기입니다.
  • 신호 핸들러: SIGINT를 수신하면 signal_handler 함수가 트리거됩니다. 여기서는 메시지를 인쇄하고 sys.exit(0)을 사용하여 스크립트를 정상적으로 종료합니다.
  • 인쇄 및 일시 중지: 핸들러를 등록한 후 스크립트는 사용자에게 Ctrl C를 누르라는 메시지를 표시합니다. signal.pause() 호출은 신호가 수신될 때까지 스크립트를 차단합니다.

추가 리소스

  • [신호 모듈 문서](https://docs.python.org/3/library/signal.html)

위 내용은 Python에서 SIGINT 중단을 적절하게 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿