Estoy desarrollando una aplicación y me gustaría que imprima algunas estadísticas de tiempo de ejecución en la consola a pedido. kill
y las señales vinieron a mi mente de inmediato.
Leer las señales de Unix en Wiki SIGINFO
parece ser el camino a seguir porque:
- Está destinado a estos fines
- No finaliza el proceso si el manejador de señal no está implementado (contrario a
SIGUSRx
- ver aquí )
Sin embargo, al inspeccionar la salida de kill -l
, parece que mi servidor no tiene esta señal implementada.
Mis preguntas son:
- ¿Por qué
SIGINFO
falta en mi sistema? ¿Está ausente en todos los sistemas GNU Linux? - ¿Hay una manera fácil (es decir, sin recompilación de kernel / glibc) para habilitar esta señal? Si ninguno, ¿cuál sería el camino difícil?
- ¿Qué señal alternativa podría usar para mis propósitos que no causara ningún efecto secundario si el proceso objetivo no lo maneja? (Ya supongo que ninguno ya que no pude encontrar ninguna otra señal adecuada en el manual de glibc )
Metainformación de Linux:
Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux
Actualización: Todavía estoy buscando más información sobre por qué esta señal se excluye condicionalmente de otros sistemas que no sean BSD (ver comentarios a continuación). La señal parece ser bastante útil para muchos propósitos, por lo que me cuesta creer que sea solo una cuestión de capricho, entonces, ¿cuál es el verdadero obstáculo para que esta señal esté disponible en Linux?
dd
con eso en mi Mac. ^T
durante la dd
ejecución no hace nada en la máquina Linux; actualizaré la pregunta en consecuencia.
^T
Aparece en la salida destty -a
?