【发布时间】:2018-02-02 09:20:19
【问题描述】:
我在两个不同的进程之间使用共享内存 (sysv_ipc),我想在另一个代码中查看共享内存的最后更新时间。有三个程序,一个写入共享内存,另一个从共享内存读取,第三个我需要用于外部错误处理,所以我想知道最近几分钟共享内存是否没有更新。有了这个想法,我尝试访问共享内存的属性“last_attach_time”。当我在终端中运行它时它工作正常。那就是我在终端中为共享内存创建了一次对象,然后我尝试连续访问该属性并且它工作得很好。在将数据写入共享内存之前,“last_attach_time”会更新时间,当写入停止时,输出变得恒定,这很好。但是当我包含在具有用于持续监控的while循环的外部错误处理代码中时,该属性没有提供正确的数据。即,即使停止写入共享内存,时间仍在增加。有没有人遇到过类似的问题? 谢谢。
【问题讨论】: