ho fatto programmi in Go che uccide un processo con syscall.Kill()
Impossibile `syscall.Kill()` un processo Go daemonized
Ma se io daeminze quel processo con fork()
+ setsid()
poi syscall.Kill()
non uccide quel processo.
Se utilizzo la shell kill
, sono in grado di interrompere il processo in entrambi i casi.
Ho provato diversi segnali: SIGINT
, SIGTERM
e SIGKILL
ma non uccidere il demone.
Stai verificando l'errore dal sistema chiamata? syscall.Kill dovrebbe funzionare come kill dalla riga di comando – JimB
Sei sicuro che stai inviando il tuo segnale al PID giusto? – kostix
Il PID è corretto. Viene automaticamente preso dal file 'run.pid' e' PID' viene stampato sullo schermo. Quindi 'PID' è corretto. – Eugene