pppd 비분리 세션에서는 Ctrl-C가 작동하지 않습니다.

pppd 비분리 세션에서는 Ctrl-C가 작동하지 않습니다.

저는 Mini2440 ARM 보드를 가지고 있고 multistrap.

tmux나는 다른 창에서 실행되는 여러 프로세스를 사용했습니다 /etc/rc.local. 직렬 포트를 사용하여 보드에 연결하고 inittab 항목을 사용하여 getty해당 포트에서 실행했습니다. picocom시리얼 커뮤니케이터 로 사용하고 있습니다 .

루트로 로그인하면 ~/.bashrc이미 실행 중인 tmux 서버에 연결되어 프로세스를 쉽게 모니터링할 수 있습니다. 실제 명령은 exec tmux attach-session -t "main"기본 구성으로 실행되는 .tmux입니다.

프로세스 중 하나(주변 쉘 스크립트 pppd)가 Ctrlc터미널에서 정보를 수신하지 못하는 반면 다른 프로세스는 정보를 수신한다는 점을 제외하면 모든 것이 잘 작동합니다. 또한 Ctrl\작동합니다.또한 kill -INT <pppd_pid>작동하지만 kill -INT <shellscript_pid>작동하지 않습니다.

난 정말 Ctrlc일을 해야 해요. 이 설정에 문제가 있나요?

stty -a편집: 이것은 바로 직전에 쉘 스크립트의 출력입니다 pppd.

speed 38400 baud; rows 23; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

이 문제가 있는 것은 프로세스뿐이기 때문에 pppd프로세스나 구성과 관련이 있다고 생각했지만 pppdtmux 외부에서 실행하면 Ctrl-C가 작동합니다. 옵션을 pppd사용하여 실행하면 nodetach터미널 전경에 유지됩니다.

또한 내 개발 컴퓨터(AMD64의 Debian 6.0)에서도 동일한 결과를 테스트했습니다.

답변1

GNU 화면을 사용해 보는 것에 대해 생각해 본 적이 있습니까? 솔직히 말해서 저는 tmux에 대한 경험이 많지 않지만 screen은 항상 잘 작동합니다.

답변2

pppd이는 배포에 사용된 특정 버전의 버그인 것으로 나타났습니다. 이전 버전과 이후 버전을 모두 확인해 보았는데 pppd이 문제는 발생하지 않았습니다. 또한 질문은 이 아치와 플랫폼 또는 tmux. 쉘 스크립트 내부에서 실행 하면 pppdCtrl-C를 처리하지 못하지만, 쉘 외부에서 실행하면 문제가 없습니다.

관련 정보