Ответ
Команда kill в Unix-подобных системах отправляет сигналы процессам. По умолчанию (без указания сигнала) отправляет SIGTERM (15), который запрашивает завершение процесса.
Примеры:
kill -9 PID # SIGKILL (9) - принудительное завершение
kill -15 PID # SIGTERM (15) - корректное завершение
В Go можно отправить сигнал процессу через os.Process.Signal():
proc, _ := os.FindProcess(pid)
proc.Signal(syscall.SIGTERM) // или SIGKILL
Важно:
SIGTERMпозволяет обработать завершениеSIGKILLнельзя перехватить, процесс убивается сразу