Tengo una placa ARM Mini2440, y he puesto un sistema base Debian 6.0 usando multistrap.
Solía tmuxejecutar varios procesos en ventanas diferentes desde /etc/rc.local. Me conecto a la placa usando su puerto serie y una entrada inittab para ejecutar gettyen ese puerto. Yo uso picocomcomo comunicador en serie.
Cuando root inicia sesión, ~/.bashrclo conecta al servidor tmux que ya se está ejecutando, y los procesos se pueden monitorear fácilmente. El comando real es exec tmux attach-session -t "main". tmux se ejecuta con la configuración predeterminada.
Todo funciona, excepto que uno de los procesos (un script de shell pppd) no recibe Ctrlcdel terminal, mientras que otros procesos sí. También Ctrl\funciona También   kill -INT <pppd_pid>funciona, pero kill -INT <shellscript_pid>no funciona.
Realmente necesito Ctrlctrabajar. ¿Qué hay de malo en esta configuración?
Editar: aquí está la salida de stty -aen el script de shell, justo antes 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
Dado que es solo el pppdproceso el que tiene este problema, creo que tiene algo que ver con él o su configuración, pero cuando ejecuto pppdfuera de tmux, Ctrl-C funciona. pppdse ejecuta con nodetachopción, por lo que permanece en primer plano terminal.
También lo probé en mi máquina de desarrollo (Debian 6.0 en amd64) con los mismos resultados.

stty -amostrarintr = ^C? Si no, ¿cuál es laintrconfiguración? (Nota:stty -a | grep intrno funcionará, ya que hace questtyescribir en una tubería en lugar de en su tty.) ¿Ctrl-V Ctrl-C hace eco^C? Si no, ¿a qué se hace eco?^y Ctrl-C le agrega unaC.trapcomando en el script de shell?pppdno tiene voz en lo que su shell subyacente decide hacer con un SIGINT directo. Intente escribir un pequeño script de shell que invoque / bin / sleep 600 y envíe al proceso de shell un SIGINT, verá exactamente lo mismo.Respuestas:
¿Alguna vez has pensado en probar la pantalla GNU GNU? Para ser honesto, no tengo mucha experiencia con tmux, pero la pantalla siempre hizo el trabajo bien.
fuente
Resultó que era un error en la versión particular
pppdque se estaba usando en la distribución. Verifiqué y las versiones anteriores y posteriores depppdno tienen este problema. Además, el problema no es específico de este arco y plataforma otmux. Sipppdse ejecuta dentro de un script de shell, no maneja Ctrl-C, mientras que fuera de shell, no tiene ningún problema.fuente