프로그래밍 언어/Python

Python에서 SIGINT를 캡처하는 방법

Rateye 2021. 10. 25. 11:19
728x90
반응형
질문 : Python에서 SIGINT를 어떻게 캡처합니까?

여러 프로세스와 데이터베이스 연결을 시작하는 Python 스크립트를 작성 중입니다.

가끔씩 Ctrl

+ C 신호로 스크립트를 죽이고 싶고 정리를하고 싶습니다.

Perl에서는 다음과 같이합니다.

$SIG{'INT'} = 'exit_gracefully';

sub exit_gracefully {
    print "Caught ^C \n";
    exit (0);
}

파이썬에서 이것과 유사하게하려면 어떻게해야합니까?

답변

다음과 같이 signal.signal 핸들러를 등록합니다.

#!/usr/bin/env python
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 에 대한 더 많은 문서는 여기 에서 찾을 수 있습니다.

출처 : https://stackoverflow.com/questions/1112343/how-do-i-capture-sigint-in-python
728x90
반응형