일시 중단, 다시 시작, 인터럽트 및 배경과 같은 기본적인 작업 제어가 대부분의 현대 쉘에서 구현됩니다.파이썬에서 셸 작업 제어의 기초를 구현하려면 어떻게해야합니까?
파이썬에서^Z, fg,^C 및 bg (bash에 나타나는 것처럼) 쉘을 민감하게 만들려면 어떻게해야합니까? 아니면 내가 뭘 읽고 있어야합니까?)
일시 중단, 다시 시작, 인터럽트 및 배경과 같은 기본적인 작업 제어가 대부분의 현대 쉘에서 구현됩니다.파이썬에서 셸 작업 제어의 기초를 구현하려면 어떻게해야합니까?
파이썬에서^Z, fg,^C 및 bg (bash에 나타나는 것처럼) 쉘을 민감하게 만들려면 어떻게해야합니까? 아니면 내가 뭘 읽고 있어야합니까?)
필요가 아무것도 할 수 있습니다. 예를 들어 ^Z
은 Unix 계열 시스템에서 SIGTSTP
을 의미합니다.
import signal
jobs = []
def handler(signum, frame):
jobs.append(frame)
signal.signal(signal.SIGTSTP, handler)
이제 Ctrl 키 + handler
가 호출됩니다 Z 및 인쇄 "캐치"를 입력 할 때. signal.SIGINT
을 사용하여 ^C
을 캡처 할 수 있습니다.
당신은 signal
모듈을 사용하여 프로그램에 전송 신호를 캡처 할 수 있습니다
python -c 'import time; time.sleep(600)'
당신은 당신의 키보드 콤보를 테스트 할 수 있습니다
셸을 파이썬으로 구현하고 있습니까? – nneonneo
대화 형 모드에 대해 이야기하고 있습니까? – Keith
IPython이 어떻게하는지보십시오. –