Struct std::process::ChildStdin1.0.0[][src]

pub struct ChildStdin { /* fields omitted */ }
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.

Trait Implementations

impl AsRawFd for ChildStdin1.2.0[src]

This is supported on Unix only.

fn as_raw_fd(&self) -> RawFd[src]

Extracts the raw file descriptor. Read more

impl AsRawHandle for ChildStdin1.2.0[src]

This is supported on Windows only.

fn as_raw_handle(&self) -> RawHandle[src]

Extracts the raw handle, without taking any ownership.

impl Debug for ChildStdin1.16.0[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl From<ChildStdin> for Stdio1.20.0[src]

fn from(child: ChildStdin) -> Stdio[src]

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
Run

impl IntoRawFd for ChildStdin1.4.0[src]

This is supported on Unix only.

fn into_raw_fd(self) -> RawFd[src]

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

impl IntoRawHandle for ChildStdin1.4.0[src]

This is supported on Windows only.

fn into_raw_handle(self) -> RawHandle[src]

Consumes this object, returning the raw underlying handle. Read more

impl Write for ChildStdin[src]

fn write(&mut self, buf: &[u8]) -> Result<usize>[src]

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

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>[src]

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

fn is_write_vectored(&self) -> bool[src]

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

Determines if this Writer has an efficient write_vectored implementation. Read more

fn flush(&mut self) -> Result<()>[src]

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

fn write_all(&mut self, buf: &[u8]) -> Result<()>[src]

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

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>[src]

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

Attempts to write multiple buffers into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<()>[src]

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

fn by_ref(&mut self) -> &mut Self where
    Self: Sized
[src]

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

impl Write for &ChildStdin1.48.0[src]

fn write(&mut self, buf: &[u8]) -> Result<usize>[src]

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

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>[src]

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

fn is_write_vectored(&self) -> bool[src]

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

Determines if this Writer has an efficient write_vectored implementation. Read more

fn flush(&mut self) -> Result<()>[src]

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

fn write_all(&mut self, buf: &[u8]) -> Result<()>[src]

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

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>[src]

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

Attempts to write multiple buffers into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<()>[src]

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

fn by_ref(&mut self) -> &mut Self where
    Self: Sized
[src]

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

Auto Trait Implementations

impl RefUnwindSafe for ChildStdin

impl Send for ChildStdin

impl Sync for ChildStdin

impl Unpin for ChildStdin

impl UnwindSafe for ChildStdin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.