如何解决防止 Raku 中文件描述符泄漏所需的建议 背景问题问题
背景
不久前我写了一个 Raku
module 来测试我对制作外部流程管道(例如,grep raku | wc -l
)的一些想法。我遵循了为外部进程创建 Pipes
和设置 I/O
重定向的传统方式。
由于 fork
中没有可用的 Raku
,而且 MoarVM
中的线程也不推荐使用,所以我使用 Proc::Async
为每个外部启动包装进程命令,然后包装器将设置 I/O
重定向以连接命令进程和管道,然后在 exec
执行实际命令之前关闭其他 FD。
问题
这一切似乎都运行良好,但使用该模块的程序的其他部分仍有可能启动子进程(例如,通过 run
、shell
、Proc
、或 Proc::Async
) 在管道 FDs
创建之后但在它们关闭之前的另一个线程中,从而泄漏它们并导致管道中的命令进程在 read / write
上阻塞。
问题
您将如何防止 FDs
泄漏到在 Raku
中的另一个线程中启动的任何子进程?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。