pub struct PidFd { /* private fields */ }
🔬This is a nightly-only experimental API. (
linux_pidfd
#82971)Available on Linux only.
Expand description
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.
RunRefer to the man page of pidfd_open(2)
for further details.
Trait Implementations§
source§impl AsFd for PidFd
impl AsFd for PidFd
source§fn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more