使用kill -11代替kill -9有什么危险吗?

vir*_*u13 6 process kill segmentation-fault process-management

我最近意识到该kill实用程序可以发送我想要的任何信号,因此当我需要SIGKILL一个进程时(当它挂起或其他东西时),我发送 aSIGSEGV而不是为了有点笑(kill -11而不是kill -9。)

但是,我不知道这是否是不好的做法。那么,kill -11比 更危险吗kill -9?如果是这样,怎么办?

Pes*_*hke 6

SIGSEGV信号由内核发送到进行了无效虚拟内存引用(分段错误)的进程。

SIGSEGV发送 a可能更“危险”的一种方法是,如果您从空间不足的文件系统中终止进程。进程收到 a 时的默认操作SIGSEGV是将核心转储到文件然后终止。核心文件可能非常大,具体取决于进程,并且可能会填满文件系统。

正如@Janka 已经提到的,您可以编写代码来告诉您的程序您希望它如何处理信号SIGSEGV。你不能捕获 aSIGKILL或 a SIGSTOP。当您只想终止进程时,我建议使用 aSIGKILL或 a 。SIGSTOP使用 aSIGSEGV通常不会产生不良影响,但您想要终止的进程可能会SIGSEGV以您不期望的方式处理 a。