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.

1.63.0 · Source§

Available on Unix only.

1.63.0 · Source§

Available on Windows only.

1.2.0 · Source§

Available on Unix only.

1.2.0 · Source§

Available on Windows only.

1.16.0 · Source§

1.63.0 · Source§

Available on Unix only.

1.63.0 · Source§

Available on Windows only.

1.20.0 · Source§

Source§

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

1.74.0 · Source§

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.

Source§

Converts to this type from the input type.

1.74.0 · Source§

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.

Source§

Converts to this type from the input type.

1.4.0 · Source§

Available on Unix only.

Source§

Consumes this object, returning the raw underlying file descriptor. Read more

1.4.0 · Source§

Available on Windows only.

1.48.0 · Source§

Source§

Writes a buffer into this writer, returning how many bytes were written. Read more

Source§

Like write, except that it writes from a slice of buffers. Read more

Source§

🔬This is a nightly-only experimental API. (can_vector #69941)

Source§

Flushes this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

1.0.0 · Source§

Attempts to write an entire buffer into this writer. Read more

Source§

🔬This is a nightly-only experimental API. (write_all_vectored #70436)

Attempts to write multiple buffers into this writer. Read more

1.0.0 · Source§

Writes a formatted string into this writer, returning any error encountered. Read more

1.0.0 · Source§

Creates a “by reference” adapter for this instance of Write. Read more

1.0.0 · Source§

Source§

Writes a buffer into this writer, returning how many bytes were written. Read more

Source§

Like write, except that it writes from a slice of buffers. Read more

Source§

🔬This is a nightly-only experimental API. (can_vector #69941)

Source§

Flushes this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

1.0.0 · Source§

Attempts to write an entire buffer into this writer. Read more

Source§

🔬This is a nightly-only experimental API. (write_all_vectored #70436)

Attempts to write multiple buffers into this writer. Read more

1.0.0 · Source§

Writes a formatted string into this writer, returning any error encountered. Read more

1.0.0 · Source§

Creates a “by reference” adapter for this instance of Write. Read more

§

§

§

§

§

§