有没有关闭它的方式给子进程提供文件描述符?

时间:2016-03-21 04:16:28

标签: rust

Stdio类型实现int.list <- list(c(1:3), c(5:7), c(10:13)) lengths(int.list) # [1] 3 3 4 ,它允许我从任何文件描述符中构建一个。 (就我而言,我想使用管道。)这正是我需要的,但我的问题是FromRawFd / stdin() / stdout()方法采用stderr()参数按价值。这意味着当Stdio对象超出范围时,其所有fd都将关闭。是否有任何方法可以通过引用为子进程提供fd,以便在子进程完成后它仍可在父进程中使用?现在我已经决定只为每个孩子打电话Command,这看起来不太好。

1 个答案:

答案 0 :(得分:2)

目前没有更好的解决方案,唉。但是,正确的解决方案是Command::into_io(self) -> (Option<StdIo>, Option<StdIo>, Option<StdIo>)方法,它解构Command以返回stdin,stdout和stderr(如果可用)。

我已经提交issue来添加该功能。

相关问题