Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 是否将数据作为文件提供给单独的进程而不写入磁盘?_Linux_Shell_Io - Fatal编程技术网

Linux 是否将数据作为文件提供给单独的进程而不写入磁盘?

Linux 是否将数据作为文件提供给单独的进程而不写入磁盘?,linux,shell,io,Linux,Shell,Io,在Linux上是否可以完全在内存中创建文件?如何使用shell脚本实现这一点 例如:Shell脚本A创建一个文件,将其写入并保存,Shell脚本B访问并读取该文件,而该文件不写入磁盘,只驻留在内存中 这背后的意图是为异构进程间通信应用一种低延迟和语言无关的方法。虽然该方法在技术上应尽可能简单,用例是关于单个请求和单个回复,但数据量可能非常大。通常您会使用该方法tempfs是一种临时文件系统,其中文件存储在虚拟内存中而不是磁盘上。这意味着在重新启动时,此类文件系统上的所有文件都会丢失。还有ram

在Linux上是否可以完全在内存中创建文件?如何使用shell脚本实现这一点

例如:Shell脚本A创建一个文件,将其写入并保存,Shell脚本B访问并读取该文件,而该文件不写入磁盘,只驻留在内存中



这背后的意图是为异构进程间通信应用一种低延迟和语言无关的方法。虽然该方法在技术上应尽可能简单,用例是关于单个请求和单个回复,但数据量可能非常大。

通常您会使用该方法
tempfs
是一种临时文件系统,其中文件存储在虚拟内存中而不是磁盘上。这意味着在重新启动时,此类文件系统上的所有文件都会丢失。

还有
ramfs
。有关
tempfs
ramfs

之间差异的信息,请参阅,谢谢-您对两者都有个人经验吗?您对我的意图和可能的解决方案有何看法?如果您的意图是进程间通信,那么您可能应该坚持使用共享内存、命名管道或TCP\ip。通过文件执行低延迟IPC通常是一个坏主意,您需要绕过缓存,并且仍然使用某种同步机制(信号量\互斥)@akui也打算提出这一点,如果您能够控制所有程序的源代码,则最好使用这种方法。然而,我后来从某种程度上理解了这个问题,即应该调整已经使用文件进行通信的现有程序。我想管道是一个特别好的选择,以防出现生动的来回。在我的例子中,虽然它只是一个请求和一个回复。据我所知,共享内存只是tempfs更有组织的版本。您认为共享内存或管道比tempfs有什么实际优势?