The go runtime won't always reinstall the default signal handler on the SIGTERM path, so it's possible the signal won't terminate the process. Instead, force SIG_DFL for the signal.