Struct procinfo::pid::Status[][src]

pub struct Status {
    pub command: String,
    pub umask: mode_t,
    pub state: State,
    pub pid: pid_t,
    pub numa_gid: pid_t,
    pub tid: pid_t,
    pub ppid: pid_t,
    pub tracer_pid: pid_t,
    pub uid_real: uid_t,
    pub uid_effective: uid_t,
    pub uid_saved: uid_t,
    pub uid_fs: uid_t,
    pub gid_real: gid_t,
    pub gid_effective: gid_t,
    pub gid_saved: gid_t,
    pub gid_fs: gid_t,
    pub fd_allocated: u32,
    pub groups: Vec<gid_t>,
    pub ns_pids: Vec<pid_t>,
    pub ns_tids: Vec<pid_t>,
    pub ns_pgids: Vec<pid_t>,
    pub ns_sids: Vec<pid_t>,
    pub vm_peak: usize,
    pub vm_size: usize,
    pub vm_locked: usize,
    pub vm_pin: usize,
    pub vm_hwm: usize,
    pub vm_rss: usize,
    pub vm_rss_anon: usize,
    pub vm_rss_file: usize,
    pub vm_rss_shared: usize,
    pub vm_data: usize,
    pub vm_stack: usize,
    pub vm_exe: usize,
    pub vm_lib: usize,
    pub vm_pte: usize,
    pub vm_pmd: usize,
    pub vm_swap: usize,
    pub hugetlb_pages: usize,
    pub core_dumping: bool,
    pub threads: u32,
    pub sig_queued: u64,
    pub sig_queued_max: u64,
    pub sig_pending_thread: u64,
    pub sig_pending_process: u64,
    pub sig_blocked: u64,
    pub sig_ignored: u64,
    pub sig_caught: u64,
    pub cap_inherited: u64,
    pub cap_permitted: u64,
    pub cap_effective: u64,
    pub cap_bounding: u64,
    pub cap_ambient: u64,
    pub no_new_privs: bool,
    pub seccomp: SeccompMode,
    pub cpus_allowed: Box<[u8]>,
    pub mems_allowed: Box<[u8]>,
    pub voluntary_ctxt_switches: u64,
    pub nonvoluntary_ctxt_switches: u64,
    pub speculation_store_bypass: String,
}

Process status information.

See man 5 proc and Linux/fs/proc/array.c.

Fields

command: String

Filename of the executable.

umask: mode_t

File mode creation mask (since Linux 4.7).

state: State

Current state of the process.

pid: pid_t

Process ID (i.e., Thread Group ID).

numa_gid: pid_t

NUMA group ID.

tid: pid_t

Thread ID.

ppid: pid_t

Process ID of parent process.

tracer_pid: pid_t

Process ID of the process tracing this process (0 if not being traced).

uid_real: uid_t

Real user ID.

uid_effective: uid_t

Effective user ID.

uid_saved: uid_t

Saved user ID.

uid_fs: uid_t

Filesystem user ID.

gid_real: gid_t

Real group ID.

gid_effective: gid_t

Effective group ID.

gid_saved: gid_t

Saved group ID.

gid_fs: gid_t

Filesystem group ID.

fd_allocated: u32

Number of file descriptor slots currently allocated.

groups: Vec<gid_t>

Supplementary group list.

ns_pids: Vec<pid_t>

Process IDs for each namespace which the process belongs to.

ns_tids: Vec<pid_t>

Thread IDs for each namespace which the process belongs to.

ns_pgids: Vec<pid_t>

Process group IDs for each namespace which the process belongs to.

ns_sids: Vec<pid_t>

Session IDs of the process for each namespace to which it belongs.

vm_peak: usize

Peak virtual memory size (kB).

vm_size: usize

Virtual memory size (kB).

vm_locked: usize

Locked memory size (kB) (see mlock(3)).

vm_pin: usize

Pinned memory size (since Linux 3.2). These are pages that can’t be moved because something needs to directly access physical memory.

vm_hwm: usize

Peak resident size (kB) (“high water mark”).

vm_rss: usize

Resident set size (kB). Comprised of vm_rss_anon, vm_rss_file, and vm_rss_shared.

vm_rss_anon: usize

Size of resident anonymous memory (kB) (since Linux 4.5).

vm_rss_file: usize

Size of resident file mappings (kB) (since Linux 4.5).

vm_rss_shared: usize

Size of resident shared memory (kB) (since Linux 4.5). Includes SysV shm, mapping of tmpfs and shared anonymous mappings.

vm_data: usize

Size of data segments (kB).

vm_stack: usize

Size of stack segments (kB).

vm_exe: usize

Size of text (executable) segments (kB).

vm_lib: usize

Shared library code size (kB).

vm_pte: usize

Page table entries size (since Linux 2.6.10).

vm_pmd: usize

Size of second-level page tables (since Linux 4.0).

vm_swap: usize

Swapped-out-virtual memory size (since Linux 2.6.34).

hugetlb_pages: usize

Size of hugetlb memory portions (since Linux 4.4).

core_dumping: bool

Process’s memory is currently being dumped (since Linux 4.15).

threads: u32

Number of threads in process containing this thread.

sig_queued: u64

The number of currently queued signals for this real user ID (see the description of RLIMIT_SIGPENDING in getrlimit(2)).

sig_queued_max: u64

The resource limit on the number of queued signals for this process.

sig_pending_thread: u64

Number of signals pending for the thread (see pthreads(7)).

sig_pending_process: u64

Number of signals pending for the process (see signal(7)).

sig_blocked: u64

Mask indicating signals being blocked.

sig_ignored: u64

Mask indicating signals being ignored.

sig_caught: u64

Mask indicating signals being caught.

cap_inherited: u64

Mask of capabilities enabled in inheritable sets (see capabilities(7)).

cap_permitted: u64

Mask of capabilities enabled in permitted sets.

cap_effective: u64

Mask of capabilities enabled in effective sets.

cap_bounding: u64

Capability Bounding set (since Linux 2.6.26).

cap_ambient: u64

Ambient capability set (since Linux 4.3).

no_new_privs: bool

Whether the process can acquire new privileges (since Linux 4.10)

seccomp: SeccompMode

Secure Computing mode of the process (since Linux 3.8, see seccomp(2)). This field is provided only if the kernel was built with the CONFIG_SECCOMP kernel configuration option enabled.

cpus_allowed: Box<[u8]>

CPUs on which this process may run (since Linux 2.6.24, see cpuset(7)).

The slice represents a bitmask in the same format as BitVec.

mems_allowed: Box<[u8]>

Memory nodes allowed to this process (since Linux 2.6.24, see cpuset(7)).

The slice represents a bitmask in the same format as BitVec.

voluntary_ctxt_switches: u64

Number of voluntary context switches.

nonvoluntary_ctxt_switches: u64

Number of involuntary context switches.

speculation_store_bypass: String

Trait Implementations

impl Debug for Status[src]

impl Default for Status[src]

impl Eq for Status[src]

impl Hash for Status[src]

impl PartialEq<Status> for Status[src]

impl StructuralEq for Status[src]

impl StructuralPartialEq for Status[src]

Auto Trait Implementations

impl RefUnwindSafe for Status

impl Send for Status

impl Sync for Status

impl Unpin for Status

impl UnwindSafe for Status

Blanket Implementations

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

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

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

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

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

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.