Command line and full screen utilities for browsing procfs, a "pseudo" file system dynamically generated by Linux to provide information about the status of entries in its process table.
Go to file
Jim Warner 6671a3a8b7 library: refactored some header file items and origins
This commit is intended as a refinement of the patches
mentioned below, where origins/sources of newlib items
were added to the header files for user documentation.

However, if those additions are to be truly effective,
along with kernel documentation (where available), the
following prerequisites must also have been satisfied:
. our identifiers closely align with linux field names
. our derived items are documented or self-documenting

Satisfying those prerequisites prompted this patch and
for these changes, kernel sources were emphasized over
available documentation (shame on me, it should always
have been so). And, while some 'new' fields were found
to be conditional, they were included unconditionally.

These changes appear more extensive than they actually
need be since I have attempted to enforce some spacing
conventions. So, I've summarize the significant things
in the sections that follow. For a proper perspective,
use: 'git diff --ignore-space-change' (good as alias).

___________________________________________ <PIDS> api
This api is unique in that there exists many different
file/directory origins subordinate to /proc/<pid>. And
our item identifiers are sometimes coerced so as to be
able to group related or similar enumerators together.

So, users needed more help relating our identifiers to
an actual documented field. Thus, we will now also add
the field names as with 'stat: delayacct_blkio_ticks'.

Each item ending with a '_C' now consistently includes
both the parent's count/time plus waited for children.

That 'RTPRIO' guy was renamed/relocated as PRIORITY_RT
since its original name is an implementation artifact.

___________________________________________ <STAT> api
The only api change was to correct a typo ('dervied').

_________________________________________ <VMSTAT> api
Even ignoring white space, this interface received the
largest number of changes. Mostly, this was because of
deficiencies in the proc(5) documentation. Recall that
this documentation already sorely lacks any substance.
Usually, just kernel releases are noted, not contents.

When compared to kernel source, that proc(5) contained
many non-existent fields and also omitted many others.

________________________________________ <MEMINFO> api
Sadly, with this api many of the changes were simply a
correction of some earlier 'human error' where several
fields where hashed then tracked but never represented
with an item enumerator in this meminfo.h header file.

_______________________________________ <SLABINFO> api
The 'SLABS' (summary) & 'SLABNODE' items were reversed
since the former are derived from the separate caches.

More significantly, those 'SLABNODE' guys were renamed
to 'SLAB' since they concern individual caches and the
concept of 'nodes' is really an implementation detail.

Also, several enumerators were changed to more closely
agree with official slabinfo(5) documentation referred
to in what we're treating as a base document: proc(5).

Lastly, while those 'SLABS' items are solely a product
of our library and not represented in slabinfo(5), the
names attempt to parallel those found as 'SLAB' items.

______________________________________ <DISKSTATS> api
One enumeration identifier was changed so as to better
reflect its relationship to that actual documentation:
'Documentation/iostats.txt', as referenced in proc(5).

Reference(s):
. 12/2018, item origins added (and commit msg history)
commit 96d59cbf46
. 01/2019, <stat> origins tweaked
commit 201e816b26

Signed-off-by: Jim Warner <james.warner@comcast.net>
2019-03-26 19:55:30 +11:00
contrib miscellaneous: clean up trailing whitespace once again 2013-04-07 18:05:01 +10:00
doc documentation: Update pids manual pages 2017-01-05 09:44:04 +11:00
Documentation miscellaneous: remove some trailing whitespace buildup 2015-06-20 07:46:23 +10:00
include Build fails if not done from the source root directory (#105) 2018-08-08 20:03:16 +10:00
lib procio: fix potential out-of-bounds access when write fails 2019-03-04 21:55:07 +11:00
man-po misc: Tell po4a to handle email macros 2018-06-23 21:59:14 +10:00
misc build-sys: rename the 'tools' subdirectory to 'misc' 2012-03-02 21:25:38 +11:00
po update translations _______________________ (catch up) 2018-05-06 07:19:38 +10:00
proc library: refactored some header file items and origins 2019-03-26 19:55:30 +11:00
ps docs: Update ps.1 to warn about command name length 2018-08-13 20:53:56 +10:00
testsuite misc: fix ps etime tests 2018-05-03 21:13:16 +10:00
top top: just correct a couple of misspellings in comments 2019-03-26 19:55:30 +11:00
.gitignore misc: Update translations _________________ (catch up) 2018-05-06 07:19:38 +10:00
.gitlab-ci.yml test: Update gitlab CI YAML to use shared runner 2016-04-20 22:20:55 +10:00
AUTHORS Changed git site to gitlab 2015-05-10 14:57:50 +10:00
autogen.sh Fix a remaining util-linux word in autogen 2012-02-26 08:39:16 +11:00
ChangeLog Changed git site to gitlab 2015-05-10 14:57:50 +10:00
configure.ac Port of merge request 49 to newlib 2017-08-19 23:05:22 +10:00
COPYING license: update FSF addresses 2012-03-04 08:04:24 +11:00
COPYING.LIB miscellaneous: clean up trailing whitespace once again 2013-04-07 18:05:01 +10:00
create-man-pot.sh misc: Update translations _________________ (catch up) 2018-05-06 07:19:38 +10:00
free.1 watch,free: interpet intervals in non-locale way 2016-07-03 16:20:48 +10:00
free.c free: fix scaling on 32-bit systems _______ (catch up) 2018-05-06 07:19:38 +10:00
INSTALL.md docs: Updated documentation 2015-05-10 17:23:54 +10:00
kill.1 docs: fix manual page warnings 2012-04-16 12:55:53 +02:00
kill.c 0022-skill: Simplify the kill_main() loop. 2018-06-23 21:59:14 +10:00
Makefile.am 3.3.13 release candidate 1 ________________ (catch up) 2018-05-06 07:19:38 +10:00
NEWS misc: Move NEWS item to correct version 2018-05-06 09:55:56 +10:00
pgrep.1 pgrep.c: Match based on process run state for issue 109 2019-03-20 20:59:00 +11:00
pgrep.c pgrep.c: Match based on process run state for issue 109 2019-03-20 20:59:00 +11:00
pidof.1 docs: Note limitation of pidof find scripts (catch up) 2018-05-06 07:19:38 +10:00
pidof.c 0020-pidof: Prevent integer overflows with grow_size(). 2018-06-23 21:59:14 +10:00
pkill.1 procps 010114 2002-02-01 22:47:29 +00:00
pmap.1 pmap: Including -p in the man page 2013-11-26 13:45:22 +01:00
pmap.c 0095-pmap: Fix extended mode in one_proc(). 2018-06-23 21:59:14 +10:00
pwdx.1 docs: fix manual page warnings 2012-04-16 12:55:53 +02:00
pwdx.c 0021-pwdx: Fix a misleading comment. 2018-06-23 21:59:14 +10:00
README.md misc: eliminate accumulated trailing whitespace, again 2016-03-12 14:53:53 +11:00
skill.1 skill: support namespaces 2013-04-18 13:59:44 -04:00
skill.c 0027-skill: Prevent multiple overflows in ENLIST(). 2018-06-23 21:59:14 +10:00
slabtop.1 procps: Add a zero-width break point in slabtop.1 2015-06-01 22:04:40 +10:00
slabtop.c misc: eliminate all those remaining gcc -Wall warnings 2017-05-22 21:38:10 +10:00
snice.1 procps 010114 2002-02-01 22:47:29 +00:00
sysctl.8 docs: sysctl.8 clarify when w flag is required 2018-02-19 21:07:21 +11:00
sysctl.c sysctl: do not report set key in case close_stream fails 2019-03-04 21:55:24 +11:00
sysctl.conf misc: Add some link examples to sysctl.conf (catch up) 2018-05-06 07:19:38 +10:00
sysctl.conf.5 misc: remove some newly introduced trailing whitespace 2016-09-26 07:40:45 +10:00
tload.1 docs: fix manual page warnings 2012-04-16 12:55:53 +02:00
tload.c 0015-tload: Prevent integer overflows of ncols, nrows, and scr_size. 2018-06-23 21:59:14 +10:00
translate-man.sh Fixed translate-man.sh for no top ps 2014-05-28 20:12:33 +10:00
uptime.1 docs: Fix typos in slabtop.1, sysctl.8 and uptime.1 2014-09-16 19:35:28 +02:00
uptime.c 0009-uptime: Check the return value of various functions. 2018-06-23 21:59:14 +10:00
vmstat.8 library: reverting tmpfs subtraction from cached (18-FEB-2014) 2014-04-30 13:59:34 +02:00
vmstat.c 0125-vmstat: Prevent out-of-bounds writes in new_header() and diskheader(). 2018-06-23 21:59:14 +10:00
w.1 w: correct program help & man page regarding arguments 2015-09-07 18:11:48 +10:00
w.c 0121-w: Clamp maxcmd to the MIN/MAX_CMD_WIDTH range. 2018-06-23 21:59:14 +10:00
watch.1 docs: Reword --exec option in watch.1 _____ (catch up) 2018-05-06 07:19:38 +10:00
watch.c watch: use sysconf() for hostname length __ (catch up) 2018-05-06 07:19:38 +10:00

build status procps

procps is a set of command line and full-screen utilities that provide information out of the pseudo-filesystem most commonly located at /proc. This filesystem provides a simple interface to the kernel data structures. The programs of procps generally concentrate on the structures that describe the processess running on the system.

The following programs are found in procps:

  • free - Report the amount of free and used memory in the system
  • kill - Send a signal to a process based on PID
  • pgrep - List processes based on name or other attributes
  • pkill - Send a signal to a process based on name or other attributes
  • pmap - Report memory map of a process
  • ps - Report information of processes
  • pwdx - Report current directory of a process
  • skill - Obsolete version of pgrep/pkill
  • slabtop - Display kernel slab cache information in real time
  • snice - Renice a process
  • sysctl - Read or Write kernel parameters at run-time
  • tload - Graphical representation of system load average
  • top - Dynamic real-time view of running processes
  • uptime - Display how long the system has been running
  • vmstat - Report virtual memory statistics
  • w - Report logged in users and what they are doing
  • watch - Execute a program periodically, showing output fullscreen

Reporting Bugs

There are a few ways of reporting bugs or feature requests:

  1. Your distributions bug reporter. If you are using a distribution your first port of call is their bug tracker. This is because each distribution has their own patches and way of dealing with bugs. Also bug reporting often does not need any subscription to websites.
  2. GitLab Issues - To the left of this page is the issue tracker. You can report bugs here.
  3. Email list - We have an email list (see below) where you can report bugs. The problem with this method is bug reports often get lost and cannot be tracked. This is especially a big problem when its something that will take time to resolve.

If you need to report bugs, there is more details on the Bug Reporting page.

Email List

The email list for the developers and users of procps is found at http://www.freelists.org/archive/procps/ This email list discusses the development of procps and is used by distributions to also forward or discuss bugs.