gpt4 book ai didi

linux - 在 *nix 系统中创建临时命名的 fifo

转载 作者:IT王子 更新时间:2023-10-29 00:34:32 24 4
gpt4 key购买 nike

我有一些任务需要大量的临时命名管道来处理。

本来,我只是简单的认为生成随机数,然后将其附加为<number>.fifo是命名管道的名称。

但是,我找到了这个帖子:Create a temporary FIFO (named pipe) in Python?

似乎有一些我不知道的东西可能会在那里导致一些安全问题。

所以我的问题是,生成命名管道的最佳方法是什么?

请注意,尽管我引用的是与 Python 相关的帖子,但我并不是真的只想用 Python 来提问。

更新:

由于我想使用命名管道连接不相关的进程,我的计划是让进程A先通过shell调用进程B,并捕获stdout获取管道名称,然后双方都知道打开什么。

这里我只是担心泄漏管道名称是否会成为问题。之前我从未想过它,直到我阅读了那篇 Python 文章。

最佳答案

如果您必须使用命名 FIFO 并且需要确保不会发生重叠/覆盖,您最好的选择可能是使用 mktempmkfifo 的某种组合。

虽然 mktemp 本身不能创建 FIFO,但它可用于创建唯一的临时目录,然后您可以将 FIFO 放入其中。

GNU mktemp documentation有这样的例子。

关于linux - 在 *nix 系统中创建临时命名的 fifo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26722463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com