gpt4 book ai didi

使用 linux 内核模块捕获 hrtimer 中断.. 可能吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:34:07 26 4
gpt4 key购买 nike

我希望能够使用 linux 内核模块“捕获”一个 hrtimer 中断,并在稍后的时间重播该中断。关于如何着手做这件事有什么想法吗?

用例:调用 sleep(1) 的程序。我的模块将在 1 秒后触发时获取 hrtimer 中断,等待“x”时间,然后重新触发中断,唤醒进程。

注意:我不想 Hook sleep 系统调用。

谢谢!

最佳答案

老实说,编写一个 Linux 内核模块只是为了修改单个应用程序的 sleep() 的行为听起来有点矫枉过正。

在大多数情况下,您应该能够 use a preloadable shared object to intercept/override sleep() 函数系列与您自己的实现。应用程序将调用您的实现,然后您的代码可以使用修改后的参数列表调用真实函数。

这种方法比涉及内核编程的任何方法都简单得多,侵入性也更小,但如果您的应用程序是静态链接的或者如果它使用直接系统调用而不是库函数,它就不起作用。

关于使用 linux 内核模块捕获 hrtimer 中断.. 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22518379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com