diff --git a/AUTHORS b/AUTHORS index 9d15d64d..3e47666b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,7 +2,7 @@ free: Brian Edmonds -oldps/ps: +ps: Branko Lankester Michael K. Johnson Michael Shields diff --git a/Makefile.am b/Makefile.am index 4ab5e055..a7d194ea 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,7 @@ SUBDIRS = proc ps myexecbin_PROGRAMS = kill myexecbindir = $(prefix)/bin -bin_PROGRAMS = oldps uptime tload free w top vmstat watch pgrep +bin_PROGRAMS = uptime tload free w top vmstat watch pgrep # Derived (symlinked binaries) bin_SCRIPTS = skill snice pkill @@ -26,7 +26,6 @@ kill_SOURCES = skill.c kill_INCLUDES = -DSYSV #kill_LDADD = -oldps_SOURCES = oldps.c uptime_SOURCES = uptime.c tload_SOURCES = tload.c free_SOURCES = free.c @@ -40,7 +39,7 @@ top_LDADD = proc/libproc.la @NCURSES_LIB@ watch_SOURCES = watch.c watch_LDADD = @NCURSES_LIB@ -man_MANS = free.1 kill.1 oldps.1 pgrep.1 pkill.1 skill.1 snice.1 sysctl.8 \ +man_MANS = free.1 kill.1 pgrep.1 pkill.1 skill.1 snice.1 sysctl.8 \ sysctl.conf.5 tload.1 top.1 uptime.1 vmstat.8 w.1 watch.1 EXTRA_DIST = man_MANS diff --git a/Makefile.in b/Makefile.in index fb2c0b0c..3edee5fd 100644 --- a/Makefile.in +++ b/Makefile.in @@ -78,7 +78,7 @@ SUBDIRS = proc ps myexecbin_PROGRAMS = kill myexecbindir = $(prefix)/bin -bin_PROGRAMS = oldps uptime tload free w top vmstat watch pgrep +bin_PROGRAMS = uptime tload free w top vmstat watch pgrep # Derived (symlinked binaries) bin_SCRIPTS = skill snice pkill @@ -91,7 +91,6 @@ kill_SOURCES = skill.c kill_INCLUDES = -DSYSV #kill_LDADD = -oldps_SOURCES = oldps.c uptime_SOURCES = uptime.c tload_SOURCES = tload.c free_SOURCES = free.c @@ -105,7 +104,7 @@ top_LDADD = proc/libproc.la @NCURSES_LIB@ watch_SOURCES = watch.c watch_LDADD = @NCURSES_LIB@ -man_MANS = free.1 kill.1 oldps.1 pgrep.1 pkill.1 skill.1 snice.1 sysctl.8 sysctl.conf.5 tload.1 top.1 uptime.1 vmstat.8 w.1 watch.1 +man_MANS = free.1 kill.1 pgrep.1 pkill.1 skill.1 snice.1 sysctl.8 sysctl.conf.5 tload.1 top.1 uptime.1 vmstat.8 w.1 watch.1 EXTRA_DIST = man_MANS @@ -119,10 +118,6 @@ DEFS = @DEFS@ -I. -I$(srcdir) CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -oldps_OBJECTS = oldps.o -oldps_LDADD = $(LDADD) -oldps_DEPENDENCIES = proc/libproc.la -oldps_LDFLAGS = uptime_OBJECTS = uptime.o uptime_LDADD = $(LDADD) uptime_DEPENDENCIES = proc/libproc.la @@ -185,11 +180,11 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar GZIP_ENV = --best -DEP_FILES = .deps/free.P .deps/oldps.P .deps/pgrep.P .deps/skill.P \ +DEP_FILES = .deps/free.P .deps/pgrep.P .deps/skill.P \ .deps/sysctl.P .deps/tload.P .deps/top.P .deps/uptime.P .deps/vmstat.P \ .deps/w.P .deps/watch.P -SOURCES = $(oldps_SOURCES) $(uptime_SOURCES) $(tload_SOURCES) $(free_SOURCES) $(w_SOURCES) $(top_SOURCES) $(vmstat_SOURCES) $(watch_SOURCES) $(pgrep_SOURCES) $(kill_SOURCES) sysctl.c -OBJECTS = $(oldps_OBJECTS) $(uptime_OBJECTS) $(tload_OBJECTS) $(free_OBJECTS) $(w_OBJECTS) $(top_OBJECTS) $(vmstat_OBJECTS) $(watch_OBJECTS) $(pgrep_OBJECTS) $(kill_OBJECTS) sysctl.o +SOURCES = $(uptime_SOURCES) $(tload_SOURCES) $(free_SOURCES) $(w_SOURCES) $(top_SOURCES) $(vmstat_SOURCES) $(watch_SOURCES) $(pgrep_SOURCES) $(kill_SOURCES) sysctl.c +OBJECTS = $(uptime_OBJECTS) $(tload_OBJECTS) $(free_OBJECTS) $(w_OBJECTS) $(top_OBJECTS) $(vmstat_OBJECTS) $(watch_OBJECTS) $(pgrep_OBJECTS) $(kill_OBJECTS) sysctl.o all: all-redirect .SUFFIXES: @@ -316,9 +311,6 @@ distclean-libtool: maintainer-clean-libtool: -oldps: $(oldps_OBJECTS) $(oldps_DEPENDENCIES) - @rm -f oldps - $(LINK) $(oldps_LDFLAGS) $(oldps_OBJECTS) $(oldps_LDADD) $(LIBS) uptime: $(uptime_OBJECTS) $(uptime_DEPENDENCIES) @rm -f uptime diff --git a/Makefile.noam b/Makefile.noam index 3cba70f6..ecccd70c 100644 --- a/Makefile.noam +++ b/Makefile.noam @@ -20,10 +20,10 @@ export INSTALLSCT = install --mode a=rx export INSTALLMAN = install --mode a=r BPROG = kill # -> BINDIR -UPROG = oldps uptime tload free w top vmstat watch skill snice # -> USRBINDIR +UPROG = uptime tload free w top vmstat watch skill snice # -> USRBINDIR PPROG = pgrep pkill# -> PROCDIR SPROG = sysctl -MAN1 = oldps.1 uptime.1 tload.1 free.1 w.1 top.1 watch.1 skill.1 kill.1 snice.1 pgrep.1 pkill.1 +MAN1 = uptime.1 tload.1 free.1 w.1 top.1 watch.1 skill.1 kill.1 snice.1 pgrep.1 pkill.1 MAN5 = sysctl.conf.5 MAN8 = vmstat.8 sysctl.8 DESKTOP = top.desktop @@ -133,14 +133,14 @@ build_ps: ; $(MAKE) -C ps install_ps: ps ; $(MAKE) -C ps install # executable dependencies -oldps kill skill snice top w uptime tload free vmstat utmp : $(LIB_TGT) +kill skill snice top w uptime tload free vmstat utmp : $(LIB_TGT) # static pattern build/link rules: %.o : %.c $(strip $(CC) $(CFLAGS) -c $^) -oldps w uptime tload free vmstat utmp pgrep: % : %.o +w uptime tload free vmstat utmp pgrep: % : %.o $(strip $(CC) $(LDFLAGS) -o $@ $< $(LIB_TGT) $(EXTRALIBS)) diff --git a/oldps.1 b/oldps.1 deleted file mode 100644 index 69e6f74f..00000000 --- a/oldps.1 +++ /dev/null @@ -1,356 +0,0 @@ -.\" This file Copyright 1992, 1997 Michael K. Johnson -.\" and 1996 Charles L. Blake -.\" It may be distributed under the GNU Public License, version 2, or -.\" any higher version. See section COPYING of the GNU Public license -.\" for conditions under which this file may be redistributed. -.TH PS 1 "3 Sep 1997" "Cohesive Systems" "Linux User's Manual" -.SH NAME -ps \- report process status -.SH SYNOPSIS -ps [\fBlujsvmaxScewhrnu\fR] [\fBt\fIxx\fR] \ -[\fBO\fR[\fB+\fR|\fB-\fR]\fIk1\fR[[\fB+\fR|\fB-\fR]\fIk2\fR...]] \ -[\fIpids\fR] - -there are also three long options: - -.BR \-\-sort\fIX [ + | - ] \fIkey [,[ + | - ] \fIkey [, ... ]] - -.B "\-\-help" - -.B "\-\-version" - -More long options are on the way... -.SH DESCRIPTION -.B "ps " -gives a snapshot of the current processes. If you want a repetitive -update of this status, use -.BR top . -This man page documents the -.IR /proc -based -version of -.BR ps , -or tries to. -.PP -.SH "COMMAND-LINE OPTIONS" -The command-line options for this version of -.B ps -are derived from the BSD version of -.BR ps , -not the System V version. - -The command-line arguments should \fBnot\fP be preceeded by a `\-' character, -because in the future, a `\-' will be used to indicate Unix98-standard -command-line arguments, while no `\-' will indicate the current -``extended BSD'' style of command line arguments. - -For now, ps will give you a warning if you use a `\-' for a short option, -but it will still work. If you have shell scripts which use BSD-style -arguments to ps, take heed of the warning and fix them, or else your -scripts will fail to function correctly at some point in the future. -If you want to turn off the warnings, set the -.B I_WANT_A_BROKEN_PS -environment variable. - -There are also some ``long options'' in GNU style; see below for those. -.PP -.PD 0 -.TP 0.5i -.B "l " -long format -.TP 0.5i -.B "u " -user format: gives user name and start time -.TP 0.5i -.B "j " -jobs format: pgid sid -.TP 0.5i -.B "s" -signal format -.TP 0.5i -.B "v " -vm format -.TP 0.5i -.B "m " -displays memory info (combine with -.B p -flag to get number of pages). -.TP 0.5i -.B "f " -"forest" family tree format for command line -.TP 0.5i -.B "a " -show processes of other users too -.TP 0.5i -.B "x " -show processes without controlling terminal -.TP 0.5i -.B "S " -add child cpu time and page faults -.TP 0.5i -.B "c " -command name from task_struct -.TP 0.5i -.B "e " -show environment after command line and ` + ' -.TP 0.5i -.B "w " -wide output: don't truncate command lines to fit on one line. -To be exact, every w that is specified will add another possible -line to the output. If the space isn't needed it isn't used. You -may up to 100 -.BR w 's. -.TP 0.5i -.B "h " -no header -.TP 0.5i -.B "r " -running procs only -.TP 0.5i -.B "n " -numeric output for -.BR USER " and " WCHAN . -.PD 1 -.TP 0.5i -.BI t xx -only procs with controlling tty \fIxx\fR; for \fIxx\fR you may use either the -name of a device file under "/dev" or that name with either -.IR tty " or " cu -sliced off. This is the reverse heuristic that ps uses to print out the -abbreviated tty name in the \fBTT\fR field, e.g. -.BR "ps t1" . -.TP 0.5i -.BR O [ + | - ] \fIk1 [,[ + | - ] \fIk2 [, ... ]] -Order the process listing according to the multi-level sort specified by -the sequence of \fIshort\fR keys from \fBSORT KEYS\fR, \fIk1\fR, \fIk2\fR, ... -Default order specifications exist for each of the various formats of \fBps\fR. -These are over-ridden by a user specified ordering. The `+' is quite optional, -merely re-iterating the default direction on a key. `-' reverses direction only -on the key it precedes. As with \fBt\fR and \fIpids\fR, the O option must be -the last option in a single command argument, but specifications in successive -arguments are catenated. -.TP 0.5i -.I pids -List only the specified processes; they are comma-delimited. The -list must be given immediately after the last option in a single command-line -argument, with no intervening space, e.g. -.BR "ps j1,4,5" . -Lists specified in subsequent arguments are catenated, e.g. -.B ps l 1,2 3,4 5 6 -will list all of the processes 1-6 in long format. If pids are given, they -are listed no matter what. If a tty is given matching processes are listed -no matter what. These two features override the 'a' and 'x' flags. -.SH "LONG COMMAND\-LINE OPTIONS" -These options are preceeded by a double\-hyphen. -.TP 0.5i -.BR \-\-sort\fIX [ + | - ] \fIkey [,[ + | - ] \fIkey [, ... ]] -Choose a \fImulti-letter key\fR from the \fBSORT KEYS\fR section. \fIX\fR may be -any convenient separator character. To be GNU-ish use `='. The `+' is really -optional since default direction is increasing numerical or lexicographic order. -E.g.: -.B ps jax --sort=uid,-ppid,+pid -.TP 0.5i -.B "\-\-help" -Get a help message that summarizes the usage and gives a list of -supported sort keys. This list may be more up to date than this man -page. -.TP 0.5i -.B "\-\-version" -Display version and source of this program. -.SH "SORT KEYS" -Note that the values used in sorting are the internal values \fBps\fR uses and -\fInot\fR the `cooked' values used in some of the output format fields. If -someone wants to volunteer to write special comparison functions for the cooked -values, ... ;-) - -SHORT LONG DESCRIPTION -.PD 0 -.TP 0.5i -c cmd simple name of executable -.TP 0.5i -C cmdline full command line -.TP 0.5i -f flags flags as in long format F field -.TP 0.5i -g pgrp process group ID -.TP 0.5i -G tpgid controlling tty process group ID -.TP 0.5i -j cutime cumulative user time -.TP 0.5i -J cstime cumulative system time -.TP 0.5i -k utime user time -.TP 0.5i -K stime system time -.TP 0.5i -m min_flt number of minor page faults -.TP 0.5i -M maj_flt number of major page faults -.TP 0.5i -n cmin_flt cumulative minor page faults -.TP 0.5i -N cmaj_flt cumulative major page faults -.TP 0.5i -o session session ID -.TP 0.5i -p pid process ID -.TP 0.5i -P ppid parent process ID -.TP 0.5i -r rss resident set size -.TP 0.5i -R resident resident pages -.TP 0.5i -s size memory size in kilobytes -.TP 0.5i -S share amount of shared pages -.TP 0.5i -t tty the minor device number of tty -.TP 0.5i -T start_time time process was started -.TP 0.5i -U uid user ID number -.TP 0.5i -u user user name -.TP 0.5i -v vsize total VM size in bytes -.TP 0.5i -y priority kernel scheduling priority -.PD 1 -.SH "FIELD DESCRIPTIONS" -.TP 0.5i -.B "PRI " -This is the counter field in the task struct. It is the time in -.B HZ -of the process's possible timeslice. -.TP 0.5i -.B "NI " -Standard unix nice value; a positive value means less cpu time. -.TP 0.5i -.B "SIZE " -Virtual image size; size of text+data+stack. -.TP 0.5i -.B "RSS " -Resident set size; kilobytes of program in memory. -.TP 0.5i -.B "WCHAN " -Name of the kernel function where the process is sleeping, with the -.RB ` sys_ ' -stripped from the function name. If -.I /etc/psdatabase -does not exist, it is just a hex number instead. -.TP 0.5i -.B "STAT " -Information about the status of the process. The first field is -.B R -for runnable, -.B S -for sleeping, -.B D -for uninterruptible sleep, -.B T -for stopped or traced, or -.B Z -for a zombie process. The second field contains -.B W -if the process has no resident pages. The third field is -.B N -if the process has a positive nice value -.RB ( NI -field). -.TP 0.5i -.B "TT " -Controlling tty. -.TP 0.5i -.B "PAGEIN " -Number of major page faults (page faults that cause pages to be read -from disk, including pages read from the buffer cache). -.TP 0.5i -.B "TRS " -Text resident size. -.TP 0.5i -.B "SWAP " -Kilobytes (or pages if -.B p -is used) on swap device. -.TP 0.5i -.B "SHARE " -Shared memory. -.SH UPDATING -This -.BR proc -based -.B ps -works by reading the files in the -.B proc -filesystem, mounted on -.BR /proc . -This -.B ps -does not need to be suid -.B kmem -or have any privileges to run. -.I "Do not give this ps any special permissions." -.PP -You will need to put in place the appropriate System.map file -when you install a new kernel in order -to get meaningful information from the -.B WCHAN -field. This should be done every time you compile a new kernel. You should -also run 'ps' as root once and then any time the tty devices in the "/dev" -directory change. - -As of procps-1.00, ps/top read System.map directly if it is available. The -search path for kernel address-to-symbol resolution is: -.nf - $PS_SYSTEM_MAP - /boot/System.map-`uname -r` - /boot/System.map - /lib/modules/`uname -r`/System.map - /etc/psdatabase - /boot/psdatabase-`uname -r` - /boot/psdatabase, - /lib/modules/`uname -r`/psdatabase -.fi -.PP -.SH NOTES -The member -.B used_math -of -.B task_struct -is not shown, since -.B crt0.s -checks to see if math is present. This causes the math flag to be set -for all processes, and so it is worthless. -.PP -Programs swapped out to disk will be shown without command line -arguments, and unless the -.B c -option is given, in parentheses. -.PP -.B %CPU -shows the cputime/realtime percentage. It will not add up to 100% -unless you are lucky. It is time used divided by the time the process -has been running. -.PP -The -.B SIZE -and -.B RSS -fields don't count the page tables and the -.B task_struct -of a proc; this is at least 12k of memory that is always resident. -.B SIZE -is the virtual size of the proc (code+data+stack). -.SH AUTHOR -.B ps -was originally written by Branko Lankester . Michael K. -Johnson re-wrote it significantly to use the proc -filesystem, changing a few things in the process. Michael Shields - added the pid-list feature. Charles -Blake added multi-level sorting, the dirent-style library, the -device name-to-number mmaped database, the approximate binary search directly -on System.map, and many code and documentation cleanups. David Mossberger-Tang -wrote the generic BFD support for psupdate. Michael K. Johnson - is the current maintainer. - -Please send bug reports to diff --git a/procps.spec b/procps.spec index a3b212d3..b4738678 100644 --- a/procps.spec +++ b/procps.spec @@ -72,7 +72,6 @@ rm -f /etc/psdevtab /etc/psdatabase %attr(755,root,root) /lib/libproc.so.2.0.7 %attr(555,root,root) /bin/ps %attr(555,root,root) /sbin/sysctl -%attr(555,root,root) /usr/bin/oldps %attr(555,root,root) /usr/bin/uptime %attr(555,root,root) /usr/bin/tload %attr(555,root,root) /usr/bin/free @@ -87,7 +86,6 @@ rm -f /etc/psdevtab /etc/psdatabase %attr(0644,root,root) /usr/man/man1/free.1 %attr(0644,root,root) /usr/man/man1/ps.1 -%attr(0644,root,root) /usr/man/man1/oldps.1 %attr(0644,root,root) /usr/man/man1/sessreg.1 %attr(0644,root,root) /usr/man/man1/skill.1 %attr(0644,root,root) /usr/man/man1/snice.1