카테고리 보관물: Unix

Unix

gnome-terminal에서 Ctrl + C가 작동하지 않습니다 진행하는 방법을 모르겠습니다. bash 4.1.5 (1)와 함께

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-terminalCtrl-CCtrl-V키를 바인딩하여 Windows의 복사 및 붙여 넣기 동작을 에뮬레이트합니다. 그것은 버그가 아닌 기능이 될 것입니다 🙂

이를 비활성화하려면 gnome-terminal에서

  1. 로 이동 Menubar -> Edit -> Keyboard Shortcuts
  2. 바로 가기 키 열에서 Ctrl+ C를 클릭 하십시오 New Accelerator....
  3. 키 바인딩을 비활성화 하려면 Backspace또는 Delete키를 누릅니다
  4. Disabled바로 가기 키 열에 나타나는지 확인하십시오 .

이 변경 사항은 모든 그놈 터미널 에 즉시 적용 됩니다 .

팁 : gnome-terminal --show-menubargnome-terminal이 메뉴 막대를 표시하지 않으면 강제로 표시합니다.


답변

여기서 추측 할 것입니다. Ctrl-C는 작동하지만 ps -e나머지 스크립트에 비해 실행하는 데 시간이 오래 걸리기 때문에 SIGINT를 “ps”프로세스로 보냅니다. “ps”가 종료되고 스크립트는 루프 코드를 통해 다른 반복으로 바로 선택됩니다.

를 수행 sleep 10가 실행되는 동안, 배시 창에서 제어-C 그것. 작동하는지 확인하십시오. 그렇다면 원래 스크립트를 실행하고 여러 번 control-C하십시오. 조만간 운이 좋을 것이고 스크립트를 해석하는 bash 프로세스는 SIGINT를 얻을 것입니다.


답변