[晕事]今天做了件晕事15,查关键字“Shutdown timeout”

遇到一个问题说系统hang之后,最后的打印是“Shutdown timeout”日志。
当时百思不得其解,搜遍了Linux相关的开源软件:kernel内核代码,systemd源代码,等等,都没有搜到相关的关键字,真是纳了大闷!把我搞得晕晕乎乎的,怎么甘心说找不到,肯定可以搜索到?当时一心想着是开源软件的打印,没想到是自己产品里的打印。

后来终于在我们产品里的内核模块代码里找到了,是我们自己的代码做了检查如果超时就打印“shutdown timeout”,并且调用emergency restart。释然的结果是让人高兴的!产品打了牵扯的东西就是多。

这里的总结是,如果是私有的模块,做printk打印的时候,最好加上独有的标识信息,让看日志的人好识别到底是谁打印的日志。
而且当下次遇到类似的问题的时候,也要注意所见到的日志,可能在某个内核模块,可能可以通过strace将所有的内核模块串化,之后搜索日志。也行可以得到些思路。

猜你喜欢

转载自blog.csdn.net/qq_36428903/article/details/131488328