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



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

基本上,我正在寻找像DB一样工作但速度更快并且修改成本较低的操作的东西。所以我会将我的数据保存在类似数据库的东西中,所有不同的脚本运行都会读取/修改那个东西,而不是一次又一次地去数据库。/dev/shm 看起来不错的选择,除非有人建议更好的选择。

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

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

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

最新更新