Linux 호스트에서 Ctrl+ C가 작동하지 않는 것 같고 작동하도록 진행하는 방법을 모르겠습니다. bash 4.1.5 (1)와 함께 Ubuntu 10.04를 사용하고 그놈 터미널에서 작업하고 있습니다.
이 스크립트가 실행되는 동안 Ctrl+ C를 눌렀을 때 종료되지 않았습니다.
#!/bin/bash
for i in `seq 500`
do
ps -e > /dev/null
echo $i
done
답변
이것을 시도하십시오
$ stty sane
문제가 해결되는지 확인하고 intr이 올바르게 설정되어 있는지 확인하십시오.
$ stty -a
당신이이 찾을 경우 intr
^ C보다 뭔가 다른 설정되어, 당신은 입력하여 문제를 해결할 수 있습니다
$ stty intr ^v^c
답변
gnome-terminal
구성 이 손상된 것처럼 보이므로 다음을 사용하여 기본값을 복원 할 수 있습니다.
mv .gconf/apps/gnome-terminal{,-BROKEN}
(효과를 보려면 터미널을 다시 시작해야합니다.)
그 후 모든 것이 정상이면을 수행하십시오 rm -rf .gconf/apps/gnome-terminal-BROKEN
.
답변
의 기본 설정 gnome-terminal
은 Ctrl-C
및 Ctrl-V
키를 바인딩하여 Windows의 복사 및 붙여 넣기 동작을 에뮬레이트합니다. 그것은 버그가 아닌 기능이 될 것입니다 🙂
이를 비활성화하려면 gnome-terminal에서
- 로 이동
Menubar -> Edit -> Keyboard Shortcuts
- 바로 가기 키 열에서 Ctrl+ C를 클릭 하십시오
New Accelerator...
. - 키 바인딩을 비활성화 하려면 Backspace또는 Delete키를 누릅니다
Disabled
바로 가기 키 열에 나타나는지 확인하십시오 .
이 변경 사항은 모든 그놈 터미널 에 즉시 적용 됩니다 .
팁 : gnome-terminal --show-menubar
gnome-terminal이 메뉴 막대를 표시하지 않으면 강제로 표시합니다.
답변
여기서 추측 할 것입니다. Ctrl-C는 작동하지만 ps -e
나머지 스크립트에 비해 실행하는 데 시간이 오래 걸리기 때문에 SIGINT를 “ps”프로세스로 보냅니다. “ps”가 종료되고 스크립트는 루프 코드를 통해 다른 반복으로 바로 선택됩니다.
를 수행 sleep 10
가 실행되는 동안, 배시 창에서 제어-C 그것. 작동하는지 확인하십시오. 그렇다면 원래 스크립트를 실행하고 여러 번 control-C하십시오. 조만간 운이 좋을 것이고 스크립트를 해석하는 bash 프로세스는 SIGINT를 얻을 것입니다.