Ctrl+c 및 Ctrl+z 작업 중단/일시 중지

Ctrl+c 및 Ctrl+z 작업 중단/일시 중지

일시 중지된 작업을 종료하려면 Ctrl+를 사용하여 c일시 중지된 작업에 인터럽트 신호를 보냅니다. 때로는 이것이 작동을 멈추지 않는 경우도 있습니다. 적어도 즉시는 아닙니다. 그런 다음 Ctrl+를 사용하여 작업을 일시 중지 z하고 kill %1(또는 작업 번호가 무엇이든) 종료할 수 있습니다.

Ctrl작업을 방해하는 데 +가 +보다 더 강력한 이유는 무엇 입니까 z? +가 작동하지 않는 경우도 있습니다. 이 상황에서 사용할 수 있는 다른 키 조합이 있습니까?CtrlcCtrlz

시도해 보았 stty -a으나 나열된 다른 키 조합은 아무 효과가 없었습니다.

답변1

Ctrl+ C(제어 문자 intr):SIGINT프로세스에 신호를 보내고 일반적으로 애플리케이션이 중단되지만 애플리케이션은 이 신호를 처리할 수 있습니다 . 예를 들어 signal()언어의 함수를 사용하여 신호를 처리할 수 있습니다.C

Ctrl+ Z(제어 문자 susp):SIGTSTP프로세스에 신호를 보내고 백그라운드에 배치하여 처리 SIGINT할 수 있습니다.

프로세스에 대기 중인 I/O가 있고 해당 I/O가 완료될 때까지 기다려야 하는 경우 Ctrl+를 사용하여 프로세스가 즉시 종료되지 않고 애플리케이션이 메모리에서 종료됩니다. 하지만 +는 프로세스와 I/O를 일시 중지합니다. 기술적으로 운영 체제는 CPU 시간을 제공하지 않으며 백그라운드 프로세스를 종료하면 일부 I/O 및 데이터가 손실될 수 있습니다.C
CtrlZ

SIGKILL프로세스를 강제로 종료하려면 가장 강력한 신호인 신호 9를 발행 해야 합니다. 운영 체제는 이를 즉시 종료하지만 프로그램이 이 신호에 반응할 수 없기 때문에 데이터가 손실될 수 있습니다.

관련 정보