偶然看见这个问题,刚好我也遇到过。其实问题的原因与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事件时自然无法处理事件了,那么系统卡死必然会出现,除非进程恢复运行或退出。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…