ChildStdin in std::process - Rust (original) (raw)
Struct ChildStdin
1.0.0 · Source
pub struct ChildStdin { /* private fields */ }
Expand description
A handle to a child process’s standard input (stdin).
This struct is used in the stdin field on Child.
When an instance of ChildStdin
is dropped, the ChildStdin
’s underlying file handle will be closed. If the child process was blocked on input prior to being dropped, it will become unblocked after dropping.
Available on Unix only.
Available on Windows only.
Available on Unix only.
Available on Windows only.
Available on Unix only.
Available on Windows only.
Converts a ChildStdin into a Stdio.
§Examples
ChildStdin
will be converted to Stdio
using Stdio::from
under the hood.
use std::process::{Command, Stdio};
let reverse = Command::new("rev")
.stdin(Stdio::piped())
.spawn()
.expect("failed reverse command");
let _echo = Command::new("echo")
.arg("Hello, world!")
.stdout(reverse.stdin.unwrap()) // Converted into a Stdio here
.output()
.expect("failed echo command");
// "!dlrow ,olleH" echoed to console
Available on Unix only.
Creates a ChildStdin
from the provided OwnedFd
.
The provided file descriptor must point to a pipe with the CLOEXEC
flag set.
Converts to this type from the input type.
Available on Windows only.
Creates a ChildStdin
from the provided OwnedHandle
.
The provided handle must be asynchronous, as reading and writing from and to it is implemented using asynchronous APIs.
Converts to this type from the input type.
Available on Unix only.
Consumes this object, returning the raw underlying file descriptor. Read more
Available on Windows only.
Writes a buffer into this writer, returning how many bytes were written. Read more
Like write, except that it writes from a slice of buffers. Read more
🔬This is a nightly-only experimental API. (can_vector
#69941)
Flushes this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
Attempts to write an entire buffer into this writer. Read more
🔬This is a nightly-only experimental API. (write_all_vectored
#70436)
Attempts to write multiple buffers into this writer. Read more
Writes a formatted string into this writer, returning any error encountered. Read more
Creates a “by reference” adapter for this instance of Write
. Read more
Writes a buffer into this writer, returning how many bytes were written. Read more
Like write, except that it writes from a slice of buffers. Read more
🔬This is a nightly-only experimental API. (can_vector
#69941)
Flushes this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
Attempts to write an entire buffer into this writer. Read more
🔬This is a nightly-only experimental API. (write_all_vectored
#70436)
Attempts to write multiple buffers into this writer. Read more
Writes a formatted string into this writer, returning any error encountered. Read more
Creates a “by reference” adapter for this instance of Write
. Read more