正确kill服务器进程

在linux环境,大多数人采用 kill -9 pid 中止一个服务器进程,但kill -9 常会带来一些问题;

在Linux信号机制中,存在多种进程中断信号(Linux信号列表 )。其中比较典型的有 

HUP     1    终端断线
INT     2    中断
QUIT    3    退出
TERM    15   终止
KILL    9    强制终止
CONT    18   继续
STOP    19    暂停

SIGNKILL(9) 和 SIGNTERM(15) 的区别在于:
SIGNKILL(9) 的效果是立即杀死进程. 该信号不能被阻塞, 处理和忽略。
SIGNTERM(15) 的效果是正常退出进程,退出前可以被阻塞或回调处理。并且它是Linux缺省的程序中断信号。


标准的kill进程方式:kill pid

注释: 标准的kill命令,默认采用信号(signal)号是15,通常都能达到目的,终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。 


你可能感兴趣的:(正确kill服务器进程)