在用户空间中存储一位信息

在用户空间中存储一位信息

我正在编写一个收集网络数据的程序。我需要在某个地方存储一点信息,一个简单的是/否,以便另一个进程可以读取它。我有几个选择:将 1 或 0 写入文件、touching / rming 文件、将字段写入数据库表等。可能还有其他我不知道的方法。在这种情况下最优雅的解决方案是什么?该程序不存储其他数据,仅在某些条件下发出警报。性能或编码的简易性不是问题。如果我改变主意并将其改为两位,您的解决方案仍然有效,则奖励积分。

答案1

进程间通信不是一个小问题。里面有很多“这取决于”。 Perl 在下面有一整章讨论这个主题perlipc

但是,对于您所描述的场景 - 我会编写一个状态文件,flock然后将您的数据写入其中。

flock确保您没有竞争条件,并且文件可以是任意长度。您可以使用文件系统权限来授予适合您需要的访问权限。

相关内容