2012-10-02 4 views
1

일시 중단, 다시 시작, 인터럽트 및 배경과 같은 기본적인 작업 제어가 대부분의 현대 쉘에서 구현됩니다.파이썬에서 셸 작업 제어의 기초를 구현하려면 어떻게해야합니까?

파이썬에서^Z, fg,^C 및 bg (bash에 나타나는 것처럼) 쉘을 민감하게 만들려면 어떻게해야합니까? 아니면 내가 뭘 읽고 있어야합니까?)

+0

셸을 파이썬으로 구현하고 있습니까? – nneonneo

+0

대화 형 모드에 대해 이야기하고 있습니까? – Keith

+0

IPython이 어떻게하는지보십시오. –

답변

0

필요가 아무것도 할 수 있습니다. 예를 들어 ^Z은 Unix 계열 시스템에서 SIGTSTP을 의미합니다.

import signal 
jobs = [] 

def handler(signum, frame): 
    jobs.append(frame) 

signal.signal(signal.SIGTSTP, handler) 

이제 Ctrl 키 + handler가 호출됩니다 Z 및 인쇄 "캐치"를 입력 할 때. signal.SIGINT을 사용하여 ^C을 캡처 할 수 있습니다.

0

당신은 signal 모듈을 사용하여 프로그램에 전송 신호를 캡처 할 수 있습니다

python -c 'import time; time.sleep(600)' 

당신은 당신의 키보드 콤보를 테스트 할 수 있습니다