[][src]Struct procfs::Process

pub struct Process {
    pub stat: Stat,
    pub owner: u32,
    // some fields omitted
}

Represents a process in /proc/<pid>.

The stat structure is pre-populated because it's useful info, but other data is loaded on demand (and so might fail, if the process no longer exist).

Fields

stat: Stat

Process status, based on the /proc/<pid>/stat file.

owner: u32

The user id of the owner of this process

Methods

impl Process[src]

pub fn new(pid: pid_t) -> ProcResult<Process>[src]

Tries to create a Process based on a PID.

This can fail if the process doesn't exist, or if you don't have permission to access it.

pub fn myself() -> ProcResult<Process>[src]

Returns a Process for the currently running process.

This is done by using the /proc/self symlink

pub fn cmdline(&self) -> ProcResult<Vec<String>>[src]

Returns the complete command line for the process, unless the process is a zombie.

pub fn pid(&self) -> pid_t[src]

Returns the process ID for this process.

pub fn is_alive(&self) -> bool[src]

Is this process still alive?

pub fn cwd(&self) -> ProcResult<PathBuf>[src]

The the current working directory of the process. This done by dereferencing the /proc/pid/cwd symbolic link.

In a multithreaded process, the contents of this symbolic link are not available if the main thread has already terminated (typically by calling pthread_exit(3)).

Permission to dereference or read (readlink(2)) this symbolic link is governed by a ptrace access mode PTRACE_MODE_READ_FSCREDS check;

pub fn environ(&self) -> ProcResult<HashMap<OsString, OsString>>[src]

Gets the current environment for the process. This is done by reading the /proc/pid/environ file.

pub fn exe(&self) -> ProcResult<PathBuf>[src]

The actual path of the executed command, taken by resolving the /proc/pid/exe symbolic link.

Under Linux 2.2 and later, this symbolic link contains the actual pathname of the executed command. If the pathname has been unlinked, the symbolic link will contain the string '(deleted)' appended to the original pathname. In a multithreaded process, the contents of this symbolic link are not available if the main thread has already terminated (typically by calling pthread_exit(3)).

pub fn io(&self) -> ProcResult<Io>[src]

Return the Io stats for this process, based on the /proc/pid/io file.

(since kernel 2.6.20)

pub fn maps(&self) -> ProcResult<Vec<MemoryMap>>[src]

Return a list of the currently mapped memory regions and their access permissions, based on the /proc/pid/maps file.

pub fn fd(&self) -> ProcResult<Vec<FDInfo>>[src]

Gets a list of open file descriptors for a process

pub fn coredump_filter(&self) -> ProcResult<Option<CoredumpFlags>>[src]

Lists which memory segments are written to the core dump in the event that a core dump is performed.

By default, the following bits are set: 0, 1, 4 (if the CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS kernel configuration option is enabled), and 5. This default can be modified at boot time using the core dump_filter boot option.

This function will return Err(ProcError::NotFound) if the coredump_filter file can't be found. If it returns Ok(None) then the process has no coredump_filter

pub fn autogroup(&self) -> ProcResult<String>[src]

Gets the process's autogroup membership

(since Linux 2.6.38 and requires CONFIG_SCHED_AUTOGROUP)

pub fn auxv(&self) -> ProcResult<HashMap<u32, u32>>[src]

Get the process's auxiliary vector

(since 2.6.0-test7)

pub fn mountstats(&self) -> ProcResult<Vec<MountStat>>[src]

Returns the MountStat data for this processes mount namespace.

pub fn wchan(&self) -> ProcResult<String>[src]

Gets the symbolic name corresponding to the location in the kernel where the process is sleeping.

(since Linux 2.6.0)

pub fn status(&self) -> ProcResult<Status>[src]

Return the Status for this process, based on the /proc/[pid]/status file.

impl Process[src]

pub fn cgroups(&self) -> ProcResult<Vec<ProcessCgroup>>[src]

Describes control groups to which the process with the corresponding PID belongs.

The displayed information differs for cgroupsversion 1 and version 2 hierarchies.

Trait Implementations

impl Clone for Process[src]

impl Debug for Process[src]

Auto Trait Implementations

impl Send for Process

impl Sync for Process

impl Unpin for Process

impl RefUnwindSafe for Process

impl UnwindSafe for Process

Blanket Implementations

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

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.

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

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

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