我正在为 Linux 开发安全软件 (SW)。我们的 SW 做的一件事是,当某个进程启动时,SW stat()s 进程的 /proc/ 条目并记住该条目的 inode 号。当稍后 SW 需要确定进程仍在运行(并且尚未重新启动)时,它会再次查找进程的 inode 并与记住的 inode 进行比较。一切都很好,直到最近我开始收到针对特定应用程序的错误警报 - Opera 浏览器 11.10beta。基本上,当 Opera 运行时,它的 /proc/PID 条目的 inode 编号似乎发生了变化,我们认为这是不可能的。这是 SW 安全概念工作中的一个相当大的扳手 - 非常依赖于这样一个事实,即当一个进程正在运行时,它的 /proc/ 条目的 inode 保持不变。
有人可以告知为什么会出现这种行为。谢谢。