summaryrefslogtreecommitdiff
path: root/doc/libproc.3
blob: 3e04626138eac09220af94f91d82d7e50ad49ad6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
.\" t
.\" (C) Copyright 2016 Craig Small <csmall@enc.com.au>
.\"
.\" %%%LICENSE_START(LGPL_2.1+)
.\" This manual is free software; you can redistribute it and/or
.\" modify it under the terms of the GNU Lesser General Public
.\" License as published by the Free Software Foundation; either
.\" version 2.1 of the License, or (at your option) any later version.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
.\" Lesser General Public License for more details.
.\"
.\" You should have received a copy of the GNU Lesser General Public
.\" License along with this library; if not, write to the Free Software
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
.\" %%%LICENSE_END
.\"
.TH LIBPROC 3 2016-04-19 "libproc-2"
.\" Please adjust this date whenever revising the manpage.
.\"
.SH NAME
libproc \-
Miscelleanous information about libproc

.SH SYNOPSIS
.B #include <proc/procps.h>

Link with \fI\-lprocps\fR.

.SH DESCRIPTION
This manual describes some of the anciallary information about the
libproc library.

.SS PID ITEMS
The enum \fIpids_item\fR is used by the functions
.BR procps_pids_new (3),
.BR procps_pids_reset "(3) and"
.BR procps_pids_sort (3).
The following items can be fetched for a process:
.TS
l l l
---
lB l l.
Item	Type	Description
PROCPS_PIDS_ADDR_END_CODE	ul_int	The address below which program text can run
PROCPS_PIDS_ADDR_KSTK_EIP	ul_int	Instruction pointer
PROCPS_PIDS_ADDR_KSTK_ESP	ul_int	Stack pointer
PROCPS_PIDS_ADDR_START_CODE	ul_int	The address above which program text can run
PROCPS_PIDS_ADDR_START_STACK	ul_int	Address of the start (bottom) of the stack
PROCPS_PIDS_ALARM	sl_int	??
PROCPS_PIDS_CGNAME	str	The name of the control group for the process
PROCPS_PIDS_CGROUP	str	List of control groups
PROCPS_PIDS_CGROUP_V	strv	List of control groups
PROCPS_PIDS_CMD	str	Command name (only the executable name)
PROCPS_PIDS_CMDLINE	str	Full command line
PROCPS_PIDS_CMDLINE_V	strv	Full command line
PROCPS_PIDS_ENVIRON	str	The process environment
PROCPS_PIDS_ENVIRON_V	strv	The process environment
PROCPS_PIDS_EXIT_SIGNAL	s_int	Signal sent to parent when this process dies
PROCPS_PIDS_FLAGS	ul_int	Process flags
PROCPS_PIDS_FLT_MAJ	ul_int	Number of major page faults
PROCPS_PIDS_FLT_MAJ_C	ul_int	Cumulative major page faults
PROCPS_PIDS_FLT_MAJ_DELTA	ul_int	Number of major page faults since last fetch
PROCPS_PIDS_FLT_MIN	ul_int	Number of minor page faults
PROCPS_PIDS_FLT_MIN_C	ul_int	Culmative minor page faults
PROCPS_PIDS_FLT_MIN_DELTA	ul_int	Number of minor page faults since last fetch
PROCPS_PIDS_ID_EGID	u_int	Effective group ID number
PROCPS_PIDS_ID_EGROUP	str	Effective group name
PROCPS_PIDS_ID_EUID	u_int	Effective user ID number
PROCPS_PIDS_ID_EUSER	str	Effective user name
PROCPS_PIDS_ID_FGID	u_int	File system access group ID number
PROCPS_PIDS_ID_FGROUP	str	File system access group name
PROCPS_PIDS_ID_FUID	u_int	File system access user ID number
PROCPS_PIDS_ID_FUSER	str	File system access user name
PROCPS_PIDS_ID_PGRP	s_int	Process group ID, or process ID of group leader
PROCPS_PIDS_ID_PID	s_int	Proccess ID number
PROCPS_PIDS_ID_PPID	s_int	Process ID number of parent
PROCPS_PIDS_ID_RGID	u_int	Real group ID number
PROCPS_PIDS_ID_RGROUP	str	Real group name
PROCPS_PIDS_ID_RUID	u_int	Real user ID number
PROCPS_PIDS_ID_RUSER	str	Real user name
PROCPS_PIDS_ID_SESSION	s_int	Session ID number, or process ID of session leader
PROCPS_PIDS_ID_SGID	u_int	Saved group ID number
PROCPS_PIDS_ID_SGROUP	str	Saved group name
PROCPS_PIDS_ID_SUID	u_int	Saved user ID number
PROCPS_PIDS_ID_SUSER	str	Saved user nameSaved user name
PROCPS_PIDS_ID_TGID	s_int	Thread group ID number, or process ID of thread group leader
PROCPS_PIDS_ID_TPGID	s_int	Process ID of foreground process group on the tty
PROCPS_PIDS_LXCNAME	str	Linux container name
PROCPS_PIDS_MEM_CODE	sl_int	??
PROCPS_PIDS_MEM_CODE_KIB	ul_int	??
PROCPS_PIDS_MEM_DATA	sl_int	??
PROCPS_PIDS_MEM_DATA_KIB	ul_int	??
PROCPS_PIDS_MEM_DT	sl_int	??
PROCPS_PIDS_MEM_LRS	sl_int	??
PROCPS_PIDS_MEM_RES	sl_int	Resident set size
PROCPS_PIDS_MEM_RES_KIB	ul_int	Resident set size
PROCPS_PIDS_MEM_SHR	sl_int	Shared memory
PROCPS_PIDS_MEM_SHR_KIB	ul_int	Shared memory
PROCPS_PIDS_MEM_VIRT	sl_int	Virtual memory
PROCPS_PIDS_MEM_VIRT_KIB	ul_int	Virtual memory
PROCPS_PIDS_NICE	sl_int	Nice value
PROCPS_PIDS_NLWP	s_int	Number of lwps (threads) in the process
PROCPS_PIDS_NS_IPC	ul_int	Current IPC namespace
PROCPS_PIDS_NS_MNT	ul_int	Current mount namespace
PROCPS_PIDS_NS_NET	ul_int	Current network namespace
PROCPS_PIDS_NS_PID	ul_int	Current PID namespace
PROCPS_PIDS_NS_USER	ul_int	Current user namespace
PROCPS_PIDS_NS_UTS	ul_int	Current UTC namespace
PROCPS_PIDS_OOM_ADJ	s_int	Out Of Memory Adjust
PROCPS_PIDS_OOM_SCORE	s_int	Process Out Of Memory Score
PROCPS_PIDS_PRIORITY	s_int	Kernel scheduling priority
PROCPS_PIDS_PROCESSOR	u_int	Current CPU the process is running on
PROCPS_PIDS_RSS		sl_int	Resident set size
PROCPS_PIDS_RSS_RLIM	ul_int	Soft limit of RSS in bytes
PROCPS_PIDS_RTPRIO	ul_int	Realtime priority
PROCPS_PIDS_SCHED_CLASS	ul_int	Scheduling class, see \fBsched\fR(7)
PROCPS_PIDS_SD_MACH	str	Systemd machine name
PROCPS_PIDS_SD_OUID	str	Systemd owner user ID
PROCPS_PIDS_SD_SEAT	str	Systemd seat
PROCPS_PIDS_SD_SESS	str	Systemd session
PROCPS_PIDS_SD_SLICE	str	Systemd slice
PROCPS_PIDS_SD_UNIT	str	Systemd unit
PROCPS_PIDS_SD_UUNIT	str	Systemd user unit
PROCPS_PIDS_SIGBLOCKED	str	Bitmap of blocked signals
PROCPS_PIDS_SIGCATCH	str	Bitmap of caught signals
PROCPS_PIDS_SIGIGNORE	str	Bitmap of ignored signals
PROCPS_PIDS_SIGNALS	str	Bitmap of pending signals
PROCPS_PIDS_SIGPENDING	str	Bitmap of pending signals
PROCPS_PIDS_STATE	s_ch	Process state codes
PROCPS_PIDS_SUPGIDS	str	IDs of the supplementary groups
PROCPS_PIDS_SUPGROUPS	str	Name of the supplementary groups
PROCPS_PIDS_TICS_ALL	ull_int	Sum of user and system time
PROCPS_PIDS_TICS_ALL_C	ull_int	Cumulative sum of user and system time
PROCPS_PIDS_TICS_DELTA	u_int	Difference of sum of user and system time since last fetch
PROCPS_PIDS_TICS_SYSTEM	ull_int	Amount of time process has been in system mode in ticks
PROCPS_PIDS_TICS_SYSTEM_C	ull_int	??
PROCPS_PIDS_TICS_USER	ull_int	Amount of time process has been scheduled in user mode in ticks
PROCPS_PIDS_TICS_USER_C	ull_int	??
PROCPS_PIDS_TIME_ALL	ull_int	??
PROCPS_PIDS_TIME_ELAPSED	ull_int	Total seconds since process started
PROCPS_PIDS_TIME_START	ull_int	Time the process started
PROCPS_PIDS_TTY	s_int	Controlling terminal ID number
PROCPS_PIDS_TTY_NAME	str	Controlling terminal name
PROCPS_PIDS_TTY_NUMBER	str	Controlling terminal number
PROCPS_PIDS_VM_DATA	ul_int	??
PROCPS_PIDS_VM_EXE	ul_int	??
PROCPS_PIDS_VM_LIB	ul_int	??
PROCPS_PIDS_VM_LOCK	ul_int	??
PROCPS_PIDS_VM_RSS	ul_int	??
PROCPS_PIDS_VM_RSS_ANON	ul_int	??
PROCPS_PIDS_VM_RSS_FILE	ul_int	??
PROCPS_PIDS_VM_RSS_LOCKED	ul_int	??
PROCPS_PIDS_VM_RSS_SHARED	ul_int	??
PROCPS_PIDS_VM_SIZE	ul_int	??
PROCPS_PIDS_VM_STACK	ul_int	??
PROCPS_PIDS_VM_SWAP	ul_int	??
PROCPS_PIDS_VM_USED	ul_int	??
PROCPS_PIDS_VSIZE_PGS	ul_int	??
PROCPS_PIDS_WCHAN_ADDR	ul_int	Address of the kernel function in which the process is sleeping.
PROCPS_PIDS_WCHAN_NAME	str	Name of the kernel function in which the process is sleeping.
.TE

.SS PIDS STACK
The structure \fIstruct pids_stack\fR is a stack or list of information
about a particular process. To extract the values out of the stack, the
macro \fBPROCPS_PIDS_VAL\fR is used the following way
.PP
.RI \fBPROCPS_PIDS_VAL\fR( index , type , stack )
where:
.TP
.I index
is the index of the \fIitems\fR defined with the function
.BR procps_pids_new (3)
.TP
.I type
is one of the \fIitem_types\fR(see below)
.TP
.I stack
is the stack returned by \fBprocps_pids_read_next()\fR.
.SH SEE ALSO
.BR proc (5),
.BR sched (7),
.BR user_namespaces (7).