我遇到了一些意外的自动重启并且没有剩余的 vmcore。
因此我想捕捉内核重启的发生时间以及调用此命令的人。
正如我之前所想的,当我输入一个reboot
命令时,SYSCALL_DEFINE4(reboot)
就会被调用,然后内核进入该函数kernel_restart
。
但事实是,当我使用 kprobe 来跟踪kernel_restart
并输入时reboot
,什么都没有捕获到 ---- 我已经在其他一些内核函数上进行了测试,例如do_sys_open
和ksys_umount
,它们都工作正常,所以至少我对 kprobe 的使用没有错。
现在我想知道内核中是否还有其他方法可以调用重启?