Toda segunda-feira, às 9h UTC, algo envia um HUP
sinal para meu processo node.js (e acho que o HUP está sendo enviado para todos os processos, não apenas para o meu). Como descubro qual processo enviou o HUP
sinal para meu programa? Meu programa tem um manipulador HUP que o faz reiniciar (para recarregar a configuração), então toda segunda-feira às 9h, minha pilha de produção reinicia sozinha (mas continua funcionando, então está tudo bem, é super chato).
Tenho a sensação de que é o systemd que está fazendo isso, só não sei qual parte do systemd está fazendo isso. Alguma ideia?
É uma instalação do Debian 11.7.
Responder1
Você pode fazer isso comeBPF:
sudo dnf install bcc-tools
sudo /usr/share/bcc/tools/killsnoop
Aqui está como fica ao enviar SIGHUP
(-1) do processo com PID
1221229, que é o bash
shell onde executo o kill -1 1221227
processo com PID
1221227.
[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 ~]$
Outra forma, desta vez comrastreamento:
sudo dnf install trace-cmd
sudo trace-cmd record -e signal
sudo trace-cmd report
Aqui estou enviando SIGHUP para um sleep
processo a partir de um bash
shell:
[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