¿Cómo encontrar qué proceso envió una señal HUP a mi proceso node.js?

¿Cómo encontrar qué proceso envió una señal HUP a mi proceso node.js?

Todos los lunes a las 9 a. m. UTC, algo envía una HUPseñal a mi proceso node.js (y creo que HUP se envía a todos los procesos, no solo al mío). ¿Cómo encuentro qué proceso envió la HUPseñal a mi programa? Mi programa tiene un controlador HUP que lo reinicia (para recargar la configuración), por lo que todos los lunes a las 9 a. m., mi pila de producción se reinicia por sí sola (pero sigue ejecutándose, por lo que todo está bien, es súper molesto).

Tengo la sensación de que lo está haciendo systemd, pero no sé qué parte de systemd lo está haciendo. ¿Algunas ideas?

Es una instalación de Debian 11.7.

Respuesta1

Puedes hacer esto coneBPF:

sudo dnf install bcc-tools
sudo /usr/share/bcc/tools/killsnoop

Así es como se ve al enviar SIGHUP(-1) desde el proceso con PID1221229, que es el bashshell donde ejecuto el kill -1 1221227proceso con PID1221227.

[mvutcovi@laptop-rh-old ~]$ sudo /usr/share/bcc/tools/killsnoop
TIME      PID    COMM             SIG  TPID   RESULT
01:38:35  1221229 bash             1    1221227 0
^C[mvutcovi@laptop-rh-old ~]$

De otra manera, esta vez conftrace:

sudo dnf install trace-cmd
sudo trace-cmd record -e signal
sudo trace-cmd report

Aquí estoy enviando SIGHUP a un sleepproceso desde un bashshell:

[mvutcovi@laptop-rh-old ~]$ sudo trace-cmd record -e signal
[mvutcovi@laptop-rh-old ~]$ sudo trace-cmd report
version = 7
cpus=8
           sleep-1221703 [001] 1248579.487042: signal_deliver:       sig=9 errno=0 code=0 sa_handler=0 sa_flags=0
           sleep-1221703 [001] 1248579.487362: signal_generate:      sig=17 errno=0 code=2 comm=bash pid=1221675 grp=1 res=0
[mvutcovi@laptop-rh-old ~]$ sudo rm trace.dat

información relacionada