SAK en este caso realmente significa Clave de atención segura . El mensaje que está viendo es un mensaje del kernel definido en drivers/tty/tty_io.c. SAK es una combinación de teclas que garantiza un inicio de sesión seguro para un usuario en la consola. En Linux, SAK garantiza esto eliminando todos los procesos adjuntos al terminal en el que se invoca SAK. Se espera que init
luego reiniciará el proceso de inicio de sesión de confianza como getty
seguido de login
o servidor X con administrador de pantalla .
Los PID enumerados son de hecho PID de subprocesos de su aplicación CX_SC3
que fueron asesinados por SAK.
fd#n opened to the tty
significa que el proceso/subproceso que se eliminó tenía el descriptor de archivo n
abierto en el terminal en el que se invocó SAK.
En Linux hay dos formas de invocar SAK:
-
A través de la tecla mágica SysRq, normalmente Alt +SysRq +K (terminal virtual) o Pausa K (consola serie). Este no es tu caso, ya que intentaste deshabilitar la magia SysRq por
echo 0 > /proc/sys/kernel/sysrq
y enviando el Pausa K la secuencia por accidente es improbable. -
A través de una secuencia de teclas definida (terminal virtual) o la señal de ruptura (consola serial). La disponibilidad de SAK en una consola serie está controlada por
setserial
.
La señal de interrupción en una línea serial es el envío continuo de valores de espaciado durante un tiempo mayor que el tiempo de envío de caracteres (incluidos los bits de inicio, parada y paridad). En su caso, es muy probable que la condición de la señal de interrupción aparezca durante el apagado de su máquina host. Intente desactivar SAK en su puerto serie en el dispositivo de destino antes del setserial
:
setserial /dev/ttyS0 ^sak
Puede comprobar el estado de la funcionalidad SAK en el puerto serie mediante setserial -g /dev/ttyS0
. Cuando esté encendido, mostrará SAK
después de Flags:
. Para la configuración automática de la opción después del arranque, consulte los scripts de inicio que en los sistemas BusyBox suelen ser /etc/init.d/rcS
y /etc/rc.d/S*
o marque /etc/inittab
para otras posibilidades.
Logré resolver el problema con la ayuda de la respuesta de pabouk. La solución basada en código que finalmente descubrí que permite el SAK
El indicador que se establecerá/deshabilitará en el puerto serie cuando se abra usando la API de espacio de usuario se puede encontrar en stackoverflow aquí ¿Cómo puedo deshabilitar la opción SAK del puerto serie en Linux usando la API de espacio de usuario?