우리 서버 중 하나에서 프로세스를 종료할 때마다 Ctrl-C
(예: 프로세스 종료 tail -f
) bash에 대한 입력이 더 이상 인쇄되지 않습니다. 터치하면 reset
문제가 해결되지만 매우 불편합니다.
Ctrl-C
프로세스를 종료해도 이 문제가 발생하지 않기를 바랍니다 . 어떤 팁이 있나요?
편집: 요청 시 추가 정보 제공
서버는 커널 2.6.32로 Suse enterprise를 실행합니다. 우리가 설치한 bash 버전은 다음과 같습니다.
GNU bash, version 3.2.51(1)-release (x86_64-suse-linux-gnu)
꼬리에 관해서는 그렇습니다.
tail (GNU coreutils) 6.12
현재 터미널 에뮬레이터는 konsole이지만 GNOME 터미널 및 터미네이터를 포함한 다른 많은 에뮬레이터에서도 동일한 일이 발생합니다.
답변1
일반적으로 이는 에코를 끄기 위해 TTY 설정을 변경한 프로그램을 종료하는 경우에만 발생합니다. 예를 들어 mplayer/mpv 또는 텍스트 편집기입니다. 그럼에도 불구하고 대부분의 잘 작동하는 프로그램은 TTY를 수정하여 신호를 포착하고 SIGINT를 종료하기 전에 발견된 방식으로 복원합니다.
여기서 이런 행동을 보게 되니 정말 이상합니다 tail
. tail이 실행되는 동안 이것을 입력하면 어떻게 될까요? 와 동일한 기능을 가진 echo가 표시되어야 합니다 cat > /dev/null
.
TTY를 방해하는 다른 것이 백그라운드에서 실행되고 있는 것일까요? 실행하여 tty
현재 어느 tty에 있는지 알아낸 다음 stty -a < /dev/that_tty
다른 쉘에서 상태를 확인할 수 있습니다. ( echo
, 아님 을 찾고 있습니다 -echo
).