when does the system send SIGKLILL
我的程序有时候会随机收到SIGKILL信号,gdb会提示:
Program terminated with signal SIGKILL, Killed.
The program no longer exists.
(gdb)
并且我找不到任何原因?什么时候系统会发送SIGKILL信号呢?我这里没有其他程序发送这个信号。。。
回答:
There are situations under which the kernel will send SIGKILL to a
process. Others have mentioned the Linux OOM killer; a more rarely
seen one is if you have a CPU-time resource hard limit set (such as
via the ulimit shell-builtin) then the kernel will send the process a
SIGKILL when the limit is reached.
在下列几种情况下,系统会发送SIGKILL信号:
1、OOM killer。out of memory 一般由于程序内存泄漏导致内存不足引起的。
2、CPU-time resource hard limit。用ulimit -t 查看系统对CPU使用时间有没有限制。如果超过限制,就会发送SIGKILL信号。
3、ptrace() &#