Ctrl+C 대신 새로운 키 매핑을 통한 프로세스 중단(interrupt) 방법
PROBLEM DESCRIPTION or QUESTION
Xshell에서 Ctrl+C를 문자열 복사를 위한 키로 설정하였습니다. 그 후 프로세스 중단을 위해 Ctrl+C 키를 눌러도 프로세스가 중단되지 않습니다.
RESOLUTION
진행 중인 프로세스를 중단(interrupt, intr)하기 위해서 보통 Ctrl+C 키를 사용합니다. 접속한 서버에서 현재 중단을 위해 어떤 키가 설정되어 있는지는 'stty -a' 명령을 통해 확인할 수 있습니다.
$ stty -a |
Xshell에서 Ctrl+C를 문자열 복사를 위해 할당하였다면 Xshell은 더이상 해당 키 값을 서버에 보내지 않으므로 프로세스 중단을 할 수 없습니다. 이와 같은 설정 상황에서 다음과 같은 방법으로 프로세스 중단을 할 수 있습니다.
터미널에서 새로운 키 값 할당
중단을 위한 새로운 키 값을 할당할 수 있습니다. 중복되지 않을 값을 확인하여 키를 할당합니다.
$ stty intr ^K |
^K는 ASCII 코드의 11번째 문자의 캐럿 표현으로 하나의 문자입니다. 이 문자를 터미널에서 Ctrl+V, Ctrk+K 키를 연속으로 눌러 표현합니다. 일부 터미널에서는 ^문자와 K 두 개의 문자로 입력하여도 인식하는 경우가 있습니다.
Xshell에서 새로운 키 할당
Xshell 키 ‘사용자 지정 키 매핑’에서 Ctrl+C 키 값을 위한 새로운 키를 설정합니다. 예로 Ctrl+Shift+C 키를 사용해 보겠습니다.
‘도구 → 옵션 → 키보드와 마우스 탭 → 편집’을 통해 ‘사용자 지정 키 매핑’ 대화 상자를 엽니다.
‘새로 만들기'를 누른 후 ‘Ctrl+Shift+C’ 키를 누릅니다.
‘편집’ 대화 상자에서 동작에서 ‘문자열 보내기’를 선택하고, 문자열에 Ctrl+C의 아스키 코드 값은 ‘\003’을 입력합니다.
해당 설정을 저장한 후 터미널에서 Ctrl+Shift+C 키 입력하여 진행 중인 프로세스가 중단되는 것을 확인해 봅니다.