저는 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
프로세스나 구성과 관련이 있다고 생각했지만 pppd
tmux 외부에서 실행하면 Ctrl-C가 작동합니다. 옵션을 pppd
사용하여 실행하면 nodetach
터미널 전경에 유지됩니다.
또한 내 개발 컴퓨터(AMD64의 Debian 6.0)에서도 동일한 결과를 테스트했습니다.
답변1
GNU 화면을 사용해 보는 것에 대해 생각해 본 적이 있습니까? 솔직히 말해서 저는 tmux에 대한 경험이 많지 않지만 screen은 항상 잘 작동합니다.
답변2
pppd
이는 배포에 사용된 특정 버전의 버그인 것으로 나타났습니다. 이전 버전과 이후 버전을 모두 확인해 보았는데 pppd
이 문제는 발생하지 않았습니다. 또한 질문은 이 아치와 플랫폼 또는 tmux
. 쉘 스크립트 내부에서 실행 하면 pppd
Ctrl-C를 처리하지 못하지만, 쉘 외부에서 실행하면 문제가 없습니다.