我想创建一个文件描述符,写入时可以从多个进程中读取而不消耗数据。我知道命名管道,但由于它是一个先进先出,只有一个进程可以获取数据。
我的用例如下。使用 git,钩子使用标准输入将要处理的数据传递到钩子中。我希望能够从父挂钩调用多个子挂钩。每个子钩子都应该获得与父级接收到的相同的标准输入数据。如果我在使用管道时没有弄错,那么每个子进程将不会获得相同的标准输入。相反,第一个读取标准输入的钩子会消耗数据。这个对吗?
在这一点上,我真正认为可行的唯一选择是将标准输入写入文件,然后从每个子进程中读取该文件。还有其他方法吗?