위로 Archlinux64
.VirtualBox
다음과 같이 SIGINT 트랩을 선언하면:
trap 'echo x' INT
ssh
세션(실행 중 ) 에서 +를 여러 번 bash
누르면 터미널에 무언가가 몇 번만 나타납니다. 다음은 더 복잡한 예입니다. Ctrl-c를 21번 누른 후:CtrlC
[il@vmarch ~]$ n=0; trap 'echo " $n'\’'th INT"; n=$((n+1))' INT
[il@vmarch ~]$ ^C 0’th INT
[il@vmarch ~]$ ^C 7’th INT
[il@vmarch ~]$ ^C 8’th INT
[il@vmarch ~]$ ^C 9’th INT
[il@vmarch ~]$ ^C 18’th INT
[il@vmarch ~]$ ^C 21’th INT
Ctrl+를 누르기만 하면 C이 효과가 나타납니다. SIGINT
명시적으로(를 통해 kill
) 보내면 예상한 모든 메시지를 받게 됩니다. 여러 터미널 에뮬레이터에서 재현 가능합니다. 텍스트 콘솔( /dev/tty1
)에는 나타나지 않습니다. zsh
및 유사한 증상 dash
: 결과는 zsh에서 거의 동일합니다. 대시에서는 트랩이 작동하지 않지만, 트랩이 없으면 개행 문자와 프롬프트도 삭제됩니다.
Ctrl+를 누르기 전 5~10초 동안 아무것도 하지 않으면 C데이터가 삭제될 확률이 높아집니다.
$ uname -a
Linux vmarch.lan 4.0.4-2-ARCH #1 SMP PREEMPT Fri May 22 03:05:23 UTC 2015 x86_64 GNU/Linux