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 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 seccomp: SeccompMode,
    pub cpus_allowed: Box<[u8]>,
    pub mems_allowed: Box<[u8]>,
    pub voluntary_ctxt_switches: u64,
    pub nonvoluntary_ctxt_switches: u64,
}

Process status information.

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

Fields

Filename of the executable.

File mode creation mask (since Linux 4.7).

Current state of the process.

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

NUMA group ID.

Thread ID.

Process ID of parent process.

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

Real user ID.

Effective user ID.

Saved user ID.

Filesystem user ID.

Real group ID.

Effective group ID.

Saved group ID.

Filesystem group ID.

Number of file descriptor slots currently allocated.

Supplementary group list.

Process IDs for each namespace which the process belongs to.

Thread IDs for each namespace which the process belongs to.

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

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

Peak virtual memory size (kB).

Virtual memory size (kB).

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

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

Peak resident size (kB) ("high water mark").

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

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

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

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

Size of data segments (kB).

Size of stack segments (kB).

Size of text (executable) segments (kB).

Shared library code size (kB).

Page table entries size (since Linux 2.6.10).

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

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

Size of hugetlb memory portions (since Linux 4.4).

Number of threads in process containing this thread.

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

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

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

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

Mask indicating signals being blocked.

Mask indicating signals being ignored.

Mask indicating signals being caught.

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

Mask of capabilities enabled in permitted sets.

Mask of capabilities enabled in effective sets.

Capability Bounding set (since Linux 2.6.26).

Ambient capability set (since Linux 4.3).

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 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.

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.

Number of voluntary context switches.

Number of involuntary context switches.

Trait Implementations

impl Default for Status
[src]

Returns the "default value" for a type. Read more

impl Debug for Status
[src]

Formats the value using the given formatter.

impl PartialEq for Status
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for Status
[src]

impl Hash for Status
[src]

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.