Linux kernel 为什么当我尝试运行vmlinux时,它会得到SIGKILL?

Linux kernel 为什么当我尝试运行vmlinux时,它会得到SIGKILL?,linux-kernel,gdb,sigkill,Linux Kernel,Gdb,Sigkill,我已将我的vmlinuz解包到vmlinux中,并尝试执行它,只是想看看会发生什么。但是,二进制文件在启动时会得到SIGKILL 为什么会发生这种情况 我期待一个SIGILL(内核尝试做用户空间中不允许的事情)或SIGSEGV(尝试访问用户模式下不允许访问的内核内存,不允许访问),但不是SIGKILL 进程是向自身发送SIGKILL,还是正在被杀死?GDB没有帮助——在启动过程中,消息是,程序以信号SIGKILL终止,终止。 最大驻留内存只有412kB/次/bin/time,因此OOM杀手不是罪

我已将我的
vmlinuz
解包到
vmlinux
中,并尝试执行它,只是想看看会发生什么。但是,二进制文件在启动时会得到SIGKILL

为什么会发生这种情况

我期待一个SIGILL(内核尝试做用户空间中不允许的事情)或SIGSEGV(尝试访问用户模式下不允许访问的内核内存,不允许访问),但不是SIGKILL

进程是向自身发送SIGKILL,还是正在被杀死?GDB没有帮助——在启动过程中,消息是
,程序以信号SIGKILL终止,终止。


最大驻留内存只有412kB/次
/bin/time
,因此OOM杀手不是罪魁祸首。事实上,即使我通过echo 2 | sudo dd of=/proc/sys/vm/overmit_memory

禁用了OOM killer,也会发送SIGKILL。似乎在执行到达入口点地址之前发生的任何事情都不会被执行。一个明显的猜测是,指定加载到内核保留区域的elf部分不允许用户模式程序使用。@ChrisStratton你是对的——我认为它试图加载到禁止的地址。