您可以用Linux Shell将树结构加载在存储器中吗?



我想用这样的linux shell脚本创建一个应用程序 - 但是可以完成吗?

此应用程序将创建一个包含数据的树。树应加载在内存中。从任何其他外部Linux脚本都可以读取该树(已加载在内存中)。

  • 可以使用Linux壳吗?
  • 如果是,您该怎么做?
  • 有什么简单的例子吗?

问题中有很多误解。

每个过程通常都有自己的内存;没有一个微不足道的方法可以将"树"加载到一个过程的内存中,并使所有其他过程可用。您可能会设计一个相关程序系统,这些程序了解共享内存段(某种程度上 - 有一个问题)包含树,但仅此而已。他们将是特殊程序,而不是一般的Shell脚本。那不符合您的"其他外部Linux脚本"要求。

在Linux Shell基础架构中根本不可用。这回答了您的第一个问题;另外两个是没有答案的。

这里有一个相关的讨论。他们使用共享存储器设备/dev/shm ,并且表面上是对多个用户工作的。至少值得一试:

http://www.linuxquestions.org/questions/linux-newbie-8/bash-is-is-possible-to-write-to-write-to-write-to-memory-rather-than-than-a-file-671891/

编辑:只需在Ubuntu上与两个用户尝试 - 看起来像一个普通目录,确实可以使用正确的CHMOD。

另请参见:

http://www.cyberciti.biz/tips/what-is-devshm-and-istical-usage.html

我认为没有办法做到这一点,好像您想保留:

的所有要求
  • 将其构建为外壳脚本
  • 内存
  • 可在终端/外部脚本中使用

您必须至少放弃一个要求:

  1. 放弃Shell Script Req-在C中构建以作为Linux进程运行。我只明白这一点,直到说这是非平凡的

  2. 放弃内存中的REQ-您可以序列化树并将数据保存在临时文件中。只要文件很小,并且性能瓶颈就不在访问树。好消息是您可以在终端/外部脚本

  3. 上使用数据
  4. 放弃外部脚本req的可用性 - 您可以从技术上构建脚本并通过将其添加以添加许多(读:一团糟)变量来运行它,将树代表该树代表当前的shell会话。

这些替代方案都不是很棒,但是如果您必须选择一个,那么数字2可能是最小问题。

最新更新