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 e7aa90a866 top: attempt to provide missing xterm vim keys support
A recent issue (and merge request) reminded me of gaps
in top's alternate 'vim' navigation keys support. Some
xterm emulators do not pass the customary strings when
keys were used with the <Ctrl> and/or <Alt> modifiers.

While it was a known problem, this issue/merge request
prompted research into the root cause. As it turns out
the problem is traceable to an X resource known by the
name 'eightBitInput'. When 'true' (the default), a key
pressed in combination with <Alt> will not be preceded
by the <Esc> character. Rather, a single character was
presented (modified via an 'eightBitMeta' X resource).

The following approaches would eliminate this problem:

. start xterm thus: xterm -xrm '*eightBitInput: false'

. use: ~/.Xresources with 'Xterm*eightBitInput: false'

. build xterm with 'configure --enable-meta-sends-esc'
( apparently used for CentOS, Fedora, openSUSE, etc. )

. enable xterm's menu via 'configure --enable-toolbar'
( so the user can set the 'Meta Sends Escape' option )

Of course, none of the above steps is desirable from a
user's perspective. So, this patch will add additional
entries to the iokey function's tinfo_tab to represent
strings passed when the <Alt> key does not send <Esc>.

[ hopefully they'll be the same across all platforms ]

Lastly, this patch will also eliminate those redundant
<Atl> + '\', '/', '<' & '>' provisions, which now seem
like overkill and suffer from that same 'eightBitMeta'
xterm problem. And we might as well say goodbye to the
4 '<Alt> + arrow key' table entries (which do not seem
to currently work with any emulator which I can find).

[ what in the world was I thinking way back in 2011? ]

Reference(s):
. issue
https://gitlab.com/procps-ng/procps/issues/135
. merge request
https://gitlab.com/procps-ng/procps/merge_requests/84

Signed-off-by: Jim Warner <james.warner@comcast.net>
2019-07-04 20:42:27 +10:00
contrib miscellaneous: clean up trailing whitespace once again 2013-04-07 18:05:01 +10: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 19:55:02 +10:00
lib misc: fix strtod_nol_err tests 2016-07-13 20:08:51 +10:00
man-po misc: Tell po4a to handle email macros 2018-06-07 21:52:46 +10:00
misc build-sys: rename the 'tools' subdirectory to 'misc' 2012-03-02 21:25:38 +11:00
po update translations 2018-04-10 21:37:39 +10:00
proc library: tweak that lxc container support a final time 2019-03-26 19:13:42 +11:00
ps docs: Update ps.1 to warn about command name length 2018-08-08 20:13:58 +10:00
testsuite testsuite: Remove pgrep ?15 char test 2018-05-19 21:50:21 +10:00
top top: attempt to provide missing xterm vim keys support 2019-07-04 20:42:27 +10:00
.gitignore misc: add asc sign files to ignore 2018-05-31 20:28:20 +10:00
.gitlab-ci.yml added gettext to dependency 2016-04-20 22:15:27 +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 Add support for elogind 2017-12-29 15:57:14 +11: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 2018-03-12 14:24:49 +11:00
free.1 docs: use correct units in free.1 2018-05-31 20:34:13 +10:00
free.c free: fix scaling on 32-bit systems 2018-04-10 21:20:25 +10:00
INSTALL.md docs: Updated documentation 2015-05-10 17:23:54 +10:00
kill.1 docs: Tidying of ps,kill and skill manpages 2018-05-31 21:18:27 +10:00
Makefile.am library: Bump API to 8:0:1 2018-05-20 07:35:37 +10:00
NEWS top: attempt to provide missing xterm vim keys support 2019-07-04 20:42:27 +10:00
pgrep.1 misc: update for pgrep runstate 2019-03-05 07:59:48 +11:00
pgrep.c misc: update for pgrep runstate 2019-03-05 07:59:48 +11:00
pidof.1 docs: Note limitation of finding scripts in pidof.1 2018-03-03 18:47:22 +11:00
pidof.c pidof: Prevent integer overflows with grow_size(). 2018-05-19 07:32:21 +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 pmap: Fix extended mode in one_proc(). 2018-05-19 07:32:22 +10:00
procio.c procio: fix potential out-of-bounds access when write fails 2019-03-04 21:44:52 +11:00
pwdx.1 docs: fix manual page warnings 2012-04-16 12:55:53 +02:00
pwdx.c pwdx: Fix a misleading comment. 2018-05-19 07:32:21 +10:00
README.md misc: Remove build badge 2018-06-23 22:51:12 +10:00
skill.1 docs: Tidying of ps,kill and skill manpages 2018-05-31 21:18:27 +10:00
skill.c skill: Do not scan past the null-terminator in check_proc(). 2018-05-19 07:32:21 +10:00
slabtop.1 procps: Add a zero-width break point in slabtop.1 2015-06-01 22:04:40 +10:00
slabtop.c slabtop: Reset slab_list if get_slabinfo() fails. 2018-05-19 07:32:21 +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:05:42 +11:00
sysctl.c sysctl: do not report set key in case close_stream fails 2019-03-04 21:44:52 +11:00
sysctl.conf misc: Add link protection examples to sysctl.conf 2018-03-03 18:56:20 +11:00
sysctl.conf.5 misc: remove some newly introduced trailing whitespace 2016-09-26 07:41:04 +10:00
tload.1 docs: fix manual page warnings 2012-04-16 12:55:53 +02:00
tload.c tload: Prevent integer overflows of ncols, nrows, and scr_size. 2018-05-19 07:32:21 +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 uptime: Check the return value of various functions. 2018-05-19 07:32:21 +10:00
vmstat.8 Fix error in vmstat documentation. 2018-06-23 22:15:33 +10:00
vmstat.c vmstat: Prevent out-of-bounds writes in new_header() and diskheader(). 2018-06-13 22:06:51 +10:00
w.1 sysctl, w: miscelaneous usage/man fixes 2013-07-19 14:50:02 +02:00
w.c w: Clamp maxcmd to the MIN/MAX_CMD_WIDTH range. 2018-06-13 22:05:18 +10:00
watch.1 docs: Reword --exec option in watch.1 2018-03-03 18:26:47 +11:00
watch.c watch: use sysconf() for hostname length 2018-03-03 18:36:44 +11:00

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.