fanotify文件实时监控无法使用gdb调试

发布于 2022-09-12 13:43:59 字数 95 浏览 28 评论 0

fanotify FAN_MARK_MOUNT 模式,监控根路径,gdb fanotify监控程序时,ctrl+c ctrl+z 引起系统卡死,有人遇到过么? 是否有解决办法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抚你发端 2022-09-19 13:43:59

偶然看见这个问题,刚好我也遇到过。其实问题的原因与FAN_MARK_MOUNT没有任何关系,这只表示你监控了某个mount目录全部文件而已。
真正的原因有两个:
1、你一定是使用了FAN_CLASS_CONTENT而不是FAN_CLASS_NOTIF,使用FAN_CLASS_CONTENT模式你得确保OPEN_PERM和ACCESS_PERM事件有回复,否则应用程序必然会阻塞在open或read函数。
2、gdb如何处理ctrl+c和ctrl+z?在gdb调试时信号会先被gdb接收然后才发送给进程,有的信号还会被拦截不让进程收到,ctrl+c就是其一。不论是ctrl+c和ctrl+z都会使gdb停止进程的运行。
好了,真正的原因已经浮出水面,你在gdb调试时让进程停止运行了,那么发生PERM事件时自然无法处理事件了,那么系统卡死必然会出现,除非进程恢复运行或退出。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文