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 cd608f462e top: forest view segmentation fault, the final solution
With forest view mode under procps-ng-3.3.0, top would catch
a SEGV and exit.  The problem was thought to be related to
some linux version 3 anamoly.

In procps-ng-3.3.1, top was protected from abnormal exit and
would display the offending processes with the special orphan
notation '?', instead of the usual artwork.

As it turns out, the problem wasn't with linux and could
surface under a 2.6.xx kernel,  The cause was an occasional
abnormal ordering of tid/tgid/ppid which went unresolved
due to a progressive proc table scan in the recursive
function forest_add().

By default the proc table scan now restarts at the beginning.
However, a #define TREE_ONEPASS is provided should one wish
to restore the 3.3.1 behavior with its reduced overhead.
2011-12-11 22:27:56 +11:00
contrib pmap fix by Jim 2011-10-26 22:25:21 +11:00
proc library: eliminate one redundant 'extern' qualifier 2011-12-11 22:27:19 +11:00
ps redhat analysis: ps/sortformat 2011-10-15 08:26:28 +02:00
testsuite Added Debian bug note for pgrep -u and testsuite 2011-12-06 21:37:45 +11:00
.gitignore Minor test fixes for non-linux 2011-12-03 00:32:14 +11:00
AUTHORS new authors 2002-10-10 21:18:13 +00:00
autogen.sh build-sys: sensible errors when autogen.sh requirements are is missing 2011-09-28 21:21:16 +02:00
BUGS name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
ChangeLog build-sys: take autotools in use again 2011-06-04 17:22:44 +02:00
CodingStyle diskstats and slabinfo 2003-06-08 17:28:06 +00:00
configure.ac Minor test fixes for non-linux 2011-12-03 00:32:14 +11:00
COPYING resync due to auto* 2002-09-27 13:26:07 +00:00
COPYING.LIB procps 010114 2002-02-01 22:47:29 +00:00
FAQ adapt redhat FAQ for procps-ng 2011-10-06 21:46:34 +02:00
free.1 docs: free great modernization manual page fixes 2011-04-28 10:10:02 +02:00
free.c name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
kill.1 name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
Makefile.am testsuite fixes 2011-11-23 21:44:51 +11:00
NEWS Added Debian bug note for pgrep -u and testsuite 2011-12-06 21:37:45 +11:00
pgrep.1 name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
pgrep.c reversed the frees added to pgrep 2011-11-23 21:31:43 +11:00
pkill.1 procps 010114 2002-02-01 22:47:29 +00:00
pmap.1 name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
pmap.c pmap fix by Jim 2011-10-26 22:25:21 +11:00
pwdx.1 name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
pwdx.c redhat analysis: pwdx 2011-10-15 08:26:28 +02:00
README name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
README.top several bug fixes, enhancements and formatting 2011-04-14 07:08:14 +10:00
skill.1 name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
skill.c libtool accommodation: kill, skill, snice 2011-10-11 09:57:01 +02:00
slabtop.1 name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
slabtop.c slabtop prints plain ASCII in once mode 2011-12-02 22:36:38 +11:00
snice.1 procps 010114 2002-02-01 22:47:29 +00:00
sysctl.8 Manual pages fixes 2011-02-23 09:17:54 +01:00
sysctl.c sysctl.c: crash due missing include 2011-06-04 17:22:44 +02:00
sysctl.conf misc 2004-08-18 02:22:13 +00:00
sysctl.conf.5 procps 010114 2002-02-01 22:47:29 +00:00
tload.1 Manual pages fixes 2011-02-23 09:17:54 +01:00
tload.c rh analysis #2: tload 2011-10-19 09:32:40 +02:00
TODO name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
top.1 Use real name in NAME section for top manpage 2011-11-27 22:56:13 +11:00
top.c top: forest view segmentation fault, the final solution 2011-12-11 22:27:56 +11:00
top.h top: forest view segmentation fault, the final solution 2011-12-11 22:27:56 +11:00
uptime.1 name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
uptime.c uptime -V #122521 2002-10-08 18:51:56 +00:00
vmstat.8 Manual pages fixes 2011-02-23 09:17:54 +01:00
vmstat.c vmstat -p <part> works and updated version to 3.3.1 2011-11-27 22:47:17 +11:00
w.1 name change: procps -> procps-ng 2011-06-04 20:50:12 +02:00
w.c Revert -n flag for w 2011-07-15 08:52:45 +10:00
watch.1 Manual pages fixes 2011-02-23 09:17:54 +01:00
watch.c 8 bit patch added to watch 2011-12-01 23:01:12 +11:00

COMPATIBILITY

    This code is intended for use with Linux 2.2.xx, 2.4.xx,
    2.6.xx, and hopefully all future kernels. You should be
    running a system with libc 6, but libc 5 might work too.

INSTALLATION

    make
    make install

    Only the second ("make install") is needed if you just
    want to build and install procps-ng in the normal way.

    If you wish to test before installing, use the scripts
    named t, v, and p to ensure that the correct libproc
    (the new one) is used during your testing.

    You may set SKIP to avoid building or installing things.
    For example:

    make SKIP='/bin/kill /usr/share/man/man1/kill.1' install

    Use SHARED=0 to build procps-ng without shared libraries.
    This may be useful for installing in your home directory.

    make SHARED=0 DESTDIR=$HOME install

    Suppose you wanted to install stuff in strange places.
    You might do something like this:

    make usr/bin=/tmp/Q/i/ DESTDIR=/tmp/Q install="install -D" ldconfig=echo install

    If cross-compiling, you might need to set lib64 to
    either "lib" or "lib64". You might need to set m64 to
    -m64, -m32, or nothing at all. Some examples:

    make lib64=lib m64=-m32      # for a bi-arch gcc
    make lib64=lib64 CC=x86_64-gcc
    make lib64=lib CC=alpha-gcc

PACKAGING

    If you are a downstream maintainer (packager) for a Linux distribution,
    please avoid causing troubles. This section applies to you.

    Send patches in regularly. Many patches made by vendors have been buggy,
    some quite severely so. Sending in a patch will at least get it reviewed,
    if not included. There is a procps-ng test suite that must be passed.
    Forward all bug reports. If your bug database is public and busy enough
    to bother with, please make this known. Follow Debian's lead in making
    the bug database easy to comment on via email w/o need for an account.

    Do not change the user interface. Many of the programs are intended to be
    compatible with Solaris, FreeBSD, AIX, IRIX, Tru64, and the UNIX standard.
    Your nice new command options WILL BE BROKEN as needed to ensure that
    procps-ng remains compatible with the rest of the world. Sysadmins hate to
    deal with incompatible behavior. If you need a new option, ask for it.

    For normal packages, ensure that you do not add debugging flags
    to the CFLAGS variable. If debugging flags are present, the Makefile
    will avoid adding several optimizations that would interfere with gdb.

    There should be no need to modify the Makefile. You can set variables
    on the "make" command line or use "make -e" to pass variables from
    the environment.

BUG REPORTS

    Email to procps@freelists.org.