Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何指示系统重新加载所有已更改的内核模块?(我正在开发一个包含多个模块的驱动程序。我想要一种快速且无错误的方法来重新加载所有更改的模块。)
没有简单、无错误的方法,因为在内核中添加/删除驱动程序的代码中的错误可能会导致无法删除模块。以类似的方式,驱动程序中的错误可能导致某些中断处理程序中的死锁,因此内核永远无法卸载模块。
此外,由于内核不会检查模块文件的更改,因此没有自动方法可以做到这一点。
您所能做的就是编写一个小脚本,rmmod以正确的顺序调用以删除模块,然后modprobe将新版本放入内核。
rmmod
modprobe
使用 rmmod 删除添加的模块并使用 modprobe 再次加载调试的模块是唯一有效的解决方案。