Struct std::os::linux::process::PidFd
pub struct PidFd { /* fields omitted */ }
This type represents a file descriptor that refers to a process.
A PidFd
can be obtained by setting the corresponding option on Command
with create_pidfd
. Subsequently, the created pidfd can be retrieved from the Child
by calling pidfd
or take_pidfd
.
Example:
#![feature(linux_pidfd)] use std::os::linux::process::{CommandExt, ChildExt}; use std::process::Command; let mut child = Command::new("echo") .create_pidfd(true) .spawn() .expect("Failed to spawn child"); let pidfd = child .take_pidfd() .expect("Failed to retrieve pidfd"); // The file descriptor will be closed when `pidfd` is dropped.
Refer to the man page of pidfd_open(2)
for further details.
Trait Implementations
impl AsFd for PidFd
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more
impl AsRawFd for PidFd
fn as_raw_fd(&self) -> RawFd
Extracts the raw file descriptor. Read more
impl Debug for PidFd
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more
impl From<OwnedFd> for PidFd
fn from(fd: OwnedFd) -> Self
Performs the conversion.
impl From<PidFd> for OwnedFd
fn from(pid_fd: PidFd) -> Self
Performs the conversion.
impl FromRawFd for PidFd
unsafe fn from_raw_fd(fd: RawFd) -> Self
Constructs a new instance of Self
from the given raw file descriptor. Read more
impl IntoRawFd for PidFd
Auto Trait Implementations
impl RefUnwindSafe for PidFd
impl Send for PidFd
impl Sync for PidFd
impl Unpin for PidFd
impl UnwindSafe for PidFd
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
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>
Performs the conversion.
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>
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/os/linux/process/struct.PidFd.html