On this page
Struct std::os::linux::process::PidFd
pub struct PidFd { /* private fields */ }
🔬This is a nightly-only experimental API. (
linux_pidfd
#82971)
Available on Linux only.
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
impl AsRawFd for PidFd
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
Converts to this type from the input type.
impl From<PidFd> for OwnedFd
fn from(pid_fd: PidFd) -> Self
Converts to this type from the input type.
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> Any for T
where
T: 'static + ?Sized,
impl<T> Borrow<T> for T
where
T: ?Sized,
impl<T> BorrowMut<T> for T
where
T: ?Sized,
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for T
where
U: From<T>,
fn into(self) -> U
Calls U::from(self)
.
That is, this conversion is whatever the implementation of From<T> for U
chooses to do.
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
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