unclean kill signal

unclean kill signal

Content #

由于apache2服务会启动多个进程,直接用kill命令会导致部分进程成为僵尸进程,可用下面的命令终止apache2进程:

sudo systemctl kill apache2

systemd向进程发送的信号为默认的SIGTERM(15),这被认为是clean signal,即 apache2服务能够在接收到该信号后做清理工作,再结束进程。验证:

systemctl is-active apache2
inactive

SIGKILL信号被认为是unclean signal,进程会被直接结束掉,没有做结束的清理工作:

sudo systemctl kill -s SIGKILL apache2
systemctl is-active apache2
active

之所以会看到active,是因为apache2的配置文件中有:

Restart=on-abort

在收到unclean signal时,会重启apache2进程。

From #