Struct async_process::ChildStdout
source · pub struct ChildStdout(/* private fields */);
Expand description
A handle to a child process’s standard output (stdout).
When a ChildStdout
is dropped, the underlying handle gets closed.
Implementations§
source§impl ChildStdout
impl ChildStdout
sourcepub async fn into_stdio(self) -> Result<Stdio>
pub async fn into_stdio(self) -> Result<Stdio>
Convert async_process::ChildStdout into std::process::Stdio.
You can use it to associate to the next process.
Examples
use async_process::Command;
use std::process::Stdio;
use std::io::Read;
use futures_lite::AsyncReadExt;
let mut ls_child = Command::new("ls").stdout(Stdio::piped()).spawn()?;
let stdio:Stdio = ls_child.stdout.take().unwrap().into_stdio().await?;
let mut echo_child = Command::new("echo").stdin(stdio).stdout(Stdio::piped()).spawn()?;
let mut buf = vec![];
echo_child.stdout.take().unwrap().read(&mut buf).await;
Trait Implementations§
source§impl AsFd for ChildStdout
impl AsFd for ChildStdout
source§fn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more
source§impl AsRawFd for ChildStdout
impl AsRawFd for ChildStdout
source§impl AsyncRead for ChildStdout
impl AsyncRead for ChildStdout
source§impl Debug for ChildStdout
impl Debug for ChildStdout
Auto Trait Implementations§
impl RefUnwindSafe for ChildStdout
impl Send for ChildStdout
impl Sync for ChildStdout
impl Unpin for ChildStdout
impl UnwindSafe for ChildStdout
Blanket Implementations§
source§impl<R> AsyncReadExt for Rwhere
R: AsyncRead + ?Sized,
impl<R> AsyncReadExt for Rwhere
R: AsyncRead + ?Sized,
source§fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadFuture<'a, Self>where
Self: Unpin,
Reads some bytes from the byte stream. Read more
source§fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>]
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
fn read_vectored<'a>(
&'a mut self,
bufs: &'a mut [IoSliceMut<'a>]
) -> ReadVectoredFuture<'a, Self>where
Self: Unpin,
source§fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>
) -> ReadToEndFuture<'a, Self>where
Self: Unpin,
source§fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
fn read_to_string<'a>(
&'a mut self,
buf: &'a mut String
) -> ReadToStringFuture<'a, Self>where
Self: Unpin,
source§fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExactFuture<'a, Self>where
Self: Unpin,
Reads the exact number of bytes required to fill
buf
. Read moresource§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Creates an adapter which will read at most
limit
bytes from it. Read moresource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more