如何在shell脚本中实现共享内存?

时间:2018-06-14 03:29:53

标签: linux bash shell shared-memory

我有一个shell脚本,它被触发并在linux系统上一次又一次地定期运行,比如说每45分钟一次。我需要在此shell脚本的不同运行之间共享某些信息。有什么不同的方法可以实现这个?这有点类似于进程间通信。我不想使用磁盘I / O,所以没有文件创建。我可以在内存中创建的东西,可以让它在一段时间内保持活着,例如上午7点到12点等。在此期间,脚本运行20次,并一次又一次地使用/填充该数据结构。上一次运行中填充的值需要在脚本的下一次运行中使用。

基本上我正在寻找像DB一样工作但速度更快且操作更便宜的东西。因此,我会将数据保存在该数据库中,并且所有不同的脚本运行都将读取/修改该内容而不是一次又一次地转到数据库。 / dev / shm看起来不错,除非有人建议更好的选择。

1 个答案:

答案 0 :(得分:2)

  

我不想使用磁盘I / O,因此不会创建文件。

如果您使用的是Linux系统,请在/dev/shm中创建一个文件。存储在此目录中的文件仅存储在共享内存中;它们不会写入磁盘。

根据您的系统配置,/tmp和/或/var/tmp可以作为tmpfs挂载,使它们的行为方式相同。您的里程可能会有所不同。