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.