Garance A Drosehn
0b42be7cb7
Switch to using strtoul() for parsing a potential UID or GID, which gets
...
this to correctly handle UID's and GID's larger than 2147483647.
Noticed by: bde
MFC after: 1 week
2004-03-30 04:20:33 +00:00
Garance A Drosehn
f35e071573
Bruce would really like the prototype for fmt() to be split across lines
...
this way (although I still think it "looks weird"...).
Requested by: bde
MFC after: 1 week
2004-03-30 02:02:40 +00:00
Garance A Drosehn
ba50b0e03a
Minor style fixes, mostly adding indent-protection on some comment-blocks.
...
Noticed by: bde
MFC after: 1 week
2004-03-30 01:59:22 +00:00
Garance A Drosehn
5bd7b1f3c0
Replace pscomp() with a cleaner version, mostly written by bde (*).
...
This corrects a problem of lost-precision for `-r' (sort-by-CPU). Also,
for sort-by-CPU and sort-by-memory, any processes which have the same
value CPU or MEMORY are now sorted by TTY and then (if needed) by pid.
(* - I just added the NODEV checks, after doing some testing of my own)
Submitted by: bde
MFC after: 1 week
2004-03-30 01:45:23 +00:00
Garance A Drosehn
c46bb4b3ff
Oops. Remove some ';'s in #defines added by a previous update.
...
Noticed by: bde
2004-03-29 03:03:28 +00:00
Garance A Drosehn
c7910c3ae3
Have this source explicitly include <sys/proc.h>, since it references
...
values such as P_CONTROLT and PS_INMEM. But this still won't define
PID_MAX for us, since that is hidden inside of '#ifdef _KERNEL'.
Noticed by: bde
2004-03-29 01:27:13 +00:00
Garance A Drosehn
87e47750f2
Since "kp" is a pointer, I should be comparing against NULL not 0.
...
Noticed by: bde
2004-03-29 01:18:13 +00:00
Garance A Drosehn
352b652398
Various style improvements, mostly in comments and indentation.
...
Suggested by: bde (well, for most of them)
2004-03-29 01:15:27 +00:00
Garance A Drosehn
ca62e195dd
In the routines I've been working on, sort the variable declartions
...
so that non-pointers are listed after pointer-type variables.
Noticed by: bde
2004-03-29 00:25:09 +00:00
Garance A Drosehn
1d2324f442
Split two 'fmt' strings so they're easier to read on 80-char windows.
2004-03-29 00:16:19 +00:00
Garance A Drosehn
de800cd4f8
Sort the declarations of global variables.
2004-03-29 00:12:03 +00:00
Garance A Drosehn
4857f240e1
Sort the routine prototypes.
2004-03-28 23:44:29 +00:00
Garance A Drosehn
5dfd7724a3
If <x> is a process id that does not exist, then just print the header
...
(if any) and exit, thus matching the behavior on -stable and other OS's.
My earlier attempt to fix this (v1.65) only seemed to work because of a
lucky random value in nentries (which was not being initialized back
when I tested that earlier patch).
2004-03-28 03:00:56 +00:00
Garance A Drosehn
3998d22271
Fix `-o rtprio' so it prints the correct value.
...
PR: bin/59417
Submitted by: Jan Willem Knopper
This fix by: bde (in the audit-trail of the PR)
2004-03-28 02:13:31 +00:00
Garance A Drosehn
e3c4e1dd77
If a non-existent user is given as part of `-U userlist', treat it as
...
a fatal error instead of a minor warning. It is possible that a few
users are used to the previous behavior, but I'm claiming it was a bug.
2004-03-27 22:14:42 +00:00
Garance A Drosehn
29d58b106b
Explicitly wrap two long-ish linesi of code, to make them easier to read.
2004-03-27 21:59:54 +00:00
Garance A Drosehn
b34f38ae9e
Change the #if-ish logic which is used to add the -f' option when
ps'
...
is compiled with LAZY_PS, so that there is only one PS_ARGS string to
modify when changing the option-list. Also get `-f' to show up in the
usage() statement when compiled with LAZY_PS.
2004-03-27 21:56:49 +00:00
Garance A Drosehn
4a355d176d
Move the 'f' case so it shows up in the right place, alphabetically.
2004-03-27 21:40:04 +00:00
Garance A Drosehn
3dc91da529
Update the date on the man page, since this the previous change added
...
a few new options.
2004-03-27 18:26:40 +00:00
Garance A Drosehn
a4c8a745a8
Support more POSIX/SUSv3 options:
...
- Change `-p' to allow a list of process IDs, and `-t' to allow a list
of terminal names, instead of only a single value for each.
- Add the `-A' option of SUSv3, which is exactly the same as `-ax'.
- Add the `-G gidlist' (group id).
- Allow any of these "selector options" to be specified multiple times,
and have `ps' keep adding to a given list -- instead of replacing the
previously-specified values.
- Fix interactions between selector-options, so that: "If any are
specified, ... ps shall select the processes represented by the
inclusive OR of all the selection-criteria options." (from SUSv3)
- Add a `-X' option, which is the reverse of the `-x' option.
- various minor improvements in parsing and error handling.
This does not get us to match POSIX/SUSv3, but it gets us closer. The
`-g pgidlist', `-R ruserlist' and `-s sidlist' options mentioned in
freebsd-standards are still under debate, so they skipped for now.
It should be true that this introduces no user-visible incompatible
changes, except to support "new stuff" that was not supported before.
2004-03-27 18:22:17 +00:00
Ruslan Ermilov
f9a480abb1
Avoid the manpage layering violation and low-level implementation
...
details of libkvm, and just tell what the getbootfile(3) function
will return, by using the text from netstat(1) and dmesg(8).
2004-03-26 08:54:27 +00:00
Ruslan Ermilov
cd31922f27
- Remove references to /dev/kmem -- ps(1) utilizes the
...
sysctl(3) interface in kvm(3).
- Document the correct default when no -N is specified.
- Remove stale reference to /var/db/kvm_kernel.db.
- Remove stale reference to /var/run/dev.db.
2004-03-26 08:29:38 +00:00
Tim J. Robbins
b59ca66070
Document incorrect handling of multibyte characters.
2004-03-21 11:24:06 +00:00
Garance A Drosehn
2e6c6ac4d7
Fix 'ps -p proclist' and 'ps -u userlist' so the command returns non-zero
...
if no processes were matched. Also sorts the list of 'int's in main, as
long as I had to add another one...
Noticed by: Nate Lawson
MFC after: 10 days
2004-03-18 01:28:23 +00:00
Garance A Drosehn
4e8b6a6fb0
Improvements to 'ps -p <x>'. If <x> is a process id that does not exist, then
...
just print the header (if any) and exit, thus matching the behavior on -stable
and other OS's.
Also adds support for <x> being a comma-separated list of processes, and does
a much better checking for invalid-values of <x>, such as 'ps -p someword'.
Reviewed by: mentioned on freebsd-current
MFC after: 10 days
2004-03-17 22:46:58 +00:00
Johan Karlsson
c8edef9f48
style.Makefile:
...
Use WARNS?= instead of WARNS=
2004-02-23 20:05:14 +00:00
Daniel Eischen
d75c1d8381
Allow the -H option to show threads when selecting by uid, tty,
...
and pid.
2004-02-22 17:59:31 +00:00
Juli Mallett
7cb9663b27
MFp4 @46705:
...
Support "uprocp" exactly like "paddr" with the former having been
documented in the manual but not implemented.
PR: 42484
2004-02-08 23:57:19 +00:00
Colin Percival
bcf85d6737
Bring ps.1 up to date with changes in the past seven years:
...
* Remove mention of '>', 'A', and 'S' states
* Mention 'W' state.
* List 'J' state in the correct location.
* Sync with flags in sys/proc.h
Approved by: rwatson (mentor)
MFC after: 7 days
2004-01-21 16:25:36 +00:00
Ruslan Ermilov
fe08efe680
mdoc(7): Use the new feature of the .In macro.
2003-09-08 19:57:22 +00:00
Hartmut Brandt
de244df7c9
Implement the nwchan keyword that has been in the man page, but was
...
not implemented. This is just handy if you want to ddb the address
some process is waiting on.
2003-08-13 07:35:07 +00:00
Christian Brueffer
a54b88d830
Clarify that the 'state' information consists of characters, not
...
only letters (e.g. IWs+)
PR: 55221
Submitted by: Rich Morin <rdm@cfcl.com>
MFC after: 3 days
2003-08-05 10:31:28 +00:00
Mark Murray
eac4bdcca4
Get this area compiling with the highest WARNS= that it works with.
...
Obsolete WFORMAT= junk also removed where possible.
OK'ed by: obrien
Tested on: sparc64, alpha, i386
2003-06-13 07:04:02 +00:00
Scott Long
48b8c0de5a
Add the -H option to ps(1) to display all kernel visible threads in each
...
process. The default behavior of showing only the process is retained as
the default.
2003-06-12 16:53:55 +00:00
Philippe Charnier
c6e6912512
add section name to .Xr
2003-06-08 09:48:39 +00:00
Mark Murray
6f0a94a9f1
Fix long constant usage for i386.
...
Tested by: Joe Marcus Clarke <marcus@marcuscom.com>
2003-05-03 20:52:48 +00:00
Mark Murray
40feca3a99
Fix a bazillion warnings. This makes almost the whole of src/bin/*
...
WARNS=6, std=c99 clean.
Tested on: i386, alpha
2003-05-03 16:39:34 +00:00
David E. O'Brien
3e7045591d
fmt.c has a comparison between signed and unsigned that is unclear how
...
to properly fix.
2003-05-02 01:05:05 +00:00
Jens Schweikhardt
fbc8f8a2dc
Fix references to non-existing or obsoleted man pages.
...
PR: docs/51480 (only a small part)
Submitted by: Diomidis D. Spinellis <dds@aueb.gr>
2003-04-30 19:18:50 +00:00
Philippe Charnier
2d5506c942
Revert the zombie part of previous commit
2003-04-15 18:49:20 +00:00
Philippe Charnier
b85add5f31
Correct style bugs. Don't skip zombies in cputime(), according to Bruce,
...
zombie CPU times are valid. Adjust array size in strftime(3).
Submitted by: Bruce
2003-04-14 19:51:36 +00:00
Tim J. Robbins
e2c9ac698c
Display residency and sleep times (re and sl fields) larger than 127 as 127.
...
This is what the manual page says ps should do, and what OpenBSD and NetBSD do.
Based on a patch from Ken Stailey.
PR: 27433, 46232
2003-04-12 10:39:56 +00:00
Maxim Sobolev
6f15bc16ed
Fix slight disorder that broke sorting. Put in bold warning about the
...
fact that in this case order matters.
Submitted by: Peter Edwards <pmedwards@eircom.net>
2003-02-05 19:22:39 +00:00
Philippe Charnier
eaed5652bf
Display elapsed time (-o etime) using [[dd-]hh:]mm:ss, which according to
...
Solaris man page is the POSIX way.
Reviewed by: jmallett
2003-02-05 13:18:17 +00:00
Juli Mallett
78b1878a16
Per-variable\ entry headers, to allow the 'ps -otime -otime=FOO' or similar
...
case to do the right thing and affect exactly one column. This is consistent
with GNU ps(1) in BSD mode, and POLA.
2003-01-19 00:31:16 +00:00
Juli Mallett
fde411d5a1
When inserting a non-user-specified (e.g. not via -o or -O) format, don't dupe
...
one that is already there. This is consistent with GNU ps(1)'s BSD mode, and
POLA.
Reported by: Andy Farkas <andyf@speednet.com.au>
Tested by: Andy Farkas <andyf@speednet.com.au>
2003-01-19 00:22:34 +00:00
Juli Mallett
775bba9fd8
Refer to the process label as proclabel, as there is a function called label,
...
and that's what these locals were called before.
2003-01-18 03:31:30 +00:00
Ruslan Ermilov
463cfa804d
Fixed the abuses of .Ql visible on stderr in troff mode.
...
PR: docs/37176
2002-12-23 16:04:51 +00:00
Thomas Moestl
297cf923e7
The hw.availpages sysctl has an unsigned long value now, fix the retrieval
...
to match that.
2002-11-01 23:26:20 +00:00
Tim J. Robbins
01e5f16641
Do not print a header line if it would be empty; required by 1003.1-2001.
2002-10-31 13:41:37 +00:00
Robert Watson
2af538eb48
Use the MAC interface to list process MAC labels rather than using
...
the LOMAC-specific interface (which is being deprecated). The
revised LOMAC using the MAC framework will export levels listable
using this mechanism.
Approved by: re
Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories
2002-10-24 00:00:57 +00:00
Bruce Evans
bb2d6f211d
Oops, the previous version was a last minute test version with off_t
...
replaced by int instead of size_t.
Spotted by: fanf
2002-10-03 17:19:36 +00:00
Bruce Evans
684370e703
Use a non-bogus type for representing the values of offsets in structs.
...
off_t is for offsets in files, and it is signed so it was no better
than the original type of int for avoiding warnings from broken lints,
except accidentally on machines like i386's where size_t is smaller
than off_t.
2002-10-03 15:00:07 +00:00
John Baldwin
0d6326492b
Catch up to SMTX -> SLOCK changes.
2002-10-02 20:33:52 +00:00
Juli Mallett
8dd2eb05bf
List valid keywords, ala kill(1), rather than the csh builtin kill, which
...
tells people to type kill -l, when no valid ones are specified.
Sponsored by: Bright Path Solutions
MFC after: 4 days
2002-09-27 01:44:30 +00:00
Juli Mallett
36b025da93
Ala kill(1), tell people to type 'ps -L' for a list of format keywords.
...
Sponsored by: Rachel Hestilow <rachel@jerkcity.com>
MFC after: 2 weeks
2002-09-27 01:40:30 +00:00
Juli Mallett
362d62ba07
Rename new PLONG type to PGTOK as the conversion is more important than the
...
size (which is mostly undefined anyway).
Submitted by: bde
2002-09-17 17:13:52 +00:00
Juli Mallett
760bbf7d6d
Conglomerate printing of ps_pgtok'd data into a PLONG type. I couldn't think
...
of a better name, except PINT, but I decided to go with assuming LONG to
be safe, rather than assuming INT.
2002-09-17 02:52:44 +00:00
Juli Mallett
f3073b05b7
Perform keyword.c:1.27 properly, implement -orss in the New World Order of
...
ps(1) formatting, using pgtok() to get the value in K, rather than printing
it in pages. This is consistent with behaviour before keyword.c:1.26 (et al)
which exists in STABLE today, and which uses the same metric as VSZ.
Submitted by: bde
2002-09-16 20:19:51 +00:00
Juli Mallett
4086fd8e70
Remove some NOTINUSE stuff. Good housekeeping.
2002-09-16 20:06:04 +00:00
Peter Wemm
6327ab9cd1
Do not risk using the kernel pgtok() which assumes the page size is
...
constant.
2002-09-13 07:13:33 +00:00
Juli Mallett
daed3ad661
Prevent ps(1) from doing idiotic munging of things in a -ofmt= string.
...
God I hate the backwards compatability crap here.
2002-09-03 05:44:00 +00:00
Tom Rhodes
7d971bbf29
s/filesystem/file system/ as discussed on -developers
2002-08-21 17:32:44 +00:00
Ruslan Ermilov
43cf90aa10
mdoc(7) police: whitespace nits.
2002-08-09 10:49:50 +00:00
Bruce Evans
c1f903a031
Fixed a printf format error that was fatal on alphas. Adding WFORMAT=0
...
to the Makefile didn't affect this bug because WFORMAT only controls
higher- level format checking (not the -Wformat that is implicit in
-Wall).
Fixed a nearby printf format error that was benign and 3 nearby style bugs.
2002-07-11 17:28:29 +00:00
Matthew Dillon
5ad9e45f96
err() is documented as allowing NULL for the format string but GCC isn't
...
happy about it any more so change the usage to make buildworld work again.
2002-07-10 20:44:55 +00:00
Juli Mallett
7ed0457457
Bring back WFORMAT=0.
2002-07-08 15:48:39 +00:00
Robert Drehmel
a755f1c9d0
- Use (MAXLOGNAME - 1) where UT_NAMESIZE was used to be able to
...
(-)remove the inclusions of <utmp.h>.
2002-07-08 09:08:51 +00:00
Juli Mallett
ffe25988bd
Make printval() take a 'void *' thus negating any assumptions the compiler
...
may try to make about the alignment of the dereferenced datum.
2002-07-07 21:45:59 +00:00
Mike Barcroft
0ad736e62b
Don't depend on pollution in <limits.h> for the definition of
...
<stdint.h> macros.
2002-07-05 15:58:27 +00:00
David E. O'Brien
2749b14129
Consistently use FBSDID
2002-06-30 05:15:05 +00:00
Maxim Sobolev
41623b2d75
Don't try to decode old-style options if the argv[1] begins with `-' and the
...
second character represents some option taking an argument. This fixes
problem when ps(1) is invoked for examply as follows:
$ ps -Ufoobar1234
the above example results in option string being interpreted as
-U foobarp1234 - note extra `p'.
Reported by: Vladimir Sotnikov <vovan@kyivstar.net>
MFC after: 2 weeks
2002-06-20 14:55:53 +00:00
Juli Mallett
7140a0e9f1
ps(1) appeared in v4
...
Submitted by: grog
2002-06-10 22:48:51 +00:00
Juli Mallett
a13d4e42c2
Note early appearence of some commands. These actually appeared in PWB, but
...
it seems we don't have a macro for that yet, so list them in the first UNIX
release since then that we have a .At for: v7.
2002-06-10 05:03:20 +00:00
Juli Mallett
2dda9fe910
Allow whitespace to act as a delimiter in the keywords list given to the -o,
...
again, but also allow it in the user-specified header, too. This is far more
backwards compatible and SUSv3-happy than allowing only comma to seperate the
keywords list.
Submitted by: tjr
2002-06-08 18:11:52 +00:00
Bruce Evans
b3a3c64940
Fixed unsorting.
2002-06-08 06:49:15 +00:00
Juli Mallett
50355bb408
Don't say that the list of formats can be space delimited, it no longer can be.
...
Mention that more than one -o will concatenate formats.
Submitted by: Jun Kuriyama <kuriyama@imgsrc.co.jp>
2002-06-08 05:47:46 +00:00
Juli Mallett
6bb72963c0
Back out previous back out of previously correct code.
...
Double-plus-pointy-hat to: jmallett
Submitted by: bde
2002-06-07 01:14:05 +00:00
Juli Mallett
eb7891df6c
Remove tunables to hide warnings that no longer exist.
2002-06-07 00:01:00 +00:00
Juli Mallett
c3f1b5a9db
Cast to long to match format. Hidden by revision 1.18 of Makefile.
2002-06-07 00:00:29 +00:00
Juli Mallett
ba2cd77062
Use a global `now' variable for the current time, and initialise it at
...
startup, right after calling setlocale(3).
2002-06-06 21:21:25 +00:00
Juli Mallett
76e1a9fe48
Implement a SUSv3-ignorant but "time"-similar format for "etime", elapsed
...
run time (NOT cpu time). cputime() and elapsed() both need to honour SUSv3
now.
2002-06-06 21:18:37 +00:00
Juli Mallett
4049699b95
sysctlbyname(3) returns -1 on failure, not any other value < 0.
2002-06-06 20:59:15 +00:00
Juli Mallett
e8eef4bb45
Support the SUSv3 `rgroup' format.
...
Clean up some local style bogons.
2002-06-06 20:42:16 +00:00
Juli Mallett
3d0d5dccc1
Cast arg_max to size_t when comparing it (times 4, plus 1) against SIZE_MAX. I
...
was worried about truncation of arg_max by this cast, but if it gets truncated,
we know it'll obviously be greater than SIZE_MAX anyway.
Big pointy hat to: jmallett
Submitted by: keramida
2002-06-06 20:29:39 +00:00
Juli Mallett
033340171a
SUSv3 conform on the "comm" and "args" formats, and make correct the "command"
...
format, since it's BSDlike, and "comm" is actually different.
2002-06-06 20:21:47 +00:00
Juli Mallett
badfdad910
Refer to the command format by its SUSv3 name (comm), and list command as an
...
alias.
2002-06-06 18:10:12 +00:00
Juli Mallett
40fea9c3a5
As per behaviour on SVR4 systems, to allow any desirable type of header in the
...
override, seperate by comma (',') only, rather than any type of whitespace
(the literal space character (' ') had already been removed from this list).
This allows things like:
miamivice# ps -opid='Process
> Identifier'
Process
Identifier
1350
1445
1450
To work.
2002-06-06 18:04:46 +00:00
Juli Mallett
4fa7d7880d
Widen the scope of fmt.c::1.19 and consistently use errx(3) if malloc(3) [or
...
realloc(3)] happens to fail, everywhere in ps(1).
Discussed with: bde, charnier (a while ago)
fmt_argv() can no longer return NULL, so don't bother checking.
Submitted by: bde
2002-06-05 18:11:25 +00:00
Juli Mallett
c0716492d4
Comma seperate format lists, since space is no longer up to the task.
...
Poked by: David Wolfskill <david@catwhisker.org>
Pointy hat to: jmallett
2002-06-05 17:31:44 +00:00
Juli Mallett
d9cd71b6e1
Support the 'comm' keyword, which is equivalent to our 'command', but
...
specified by SUSv3.
2002-06-05 02:05:24 +00:00
Juli Mallett
cf77c2ce9c
A space cannot be a header string seperator it appears given the SUSv3
...
description of ps(1), which uses them. I question whether newline and tab
can be either, but I'm not touching them. Yet.
2002-06-05 02:01:46 +00:00
Juli Mallett
6d041cc856
To comply with SUSv3, duplicate the variable contents for each given format,
...
so that multiple -ovar=header lines do not overwrite eachother.
This means that ps -ouser=USERNAME -ouser=WHO would now possibly print:
USERNAME WHO
juli juli
Whereas before it would be:
WHO WHO
juli juli
2002-06-05 01:58:36 +00:00
Juli Mallett
05051e2898
Returning NULL here if malloc(3) fails is silly, at this point in the codepath
...
we have't malloc(3)'d nearly as much as we probably will, so errx(3) away,
instead of waiting for something to fail yet again later on.
2002-06-05 01:36:30 +00:00
Juli Mallett
86f54b9fb8
Remove an XXX comment that seems to be a tiny bit no longer pertinent. This
...
function seems to do the right thing, and is not a "stub", and whoever "marc"
is, he's had plenty of time to do "the real one", so don't wait around for
him any longer.
2002-06-05 01:33:54 +00:00
Juli Mallett
b69566d8e1
Use of zero here meant many things, NULL, '\0' (NUL), and 0. Sort it out.
2002-06-05 01:32:21 +00:00
Juli Mallett
fdbec39885
Use a const char * where it is meant to be used. There's no reason to try
...
to discard the const qualifier here.
2002-06-05 01:02:13 +00:00
Juli Mallett
a89d0c4dbc
Duplicate the pointer to the string containing the header so it does not get
...
frobbed when/if the pointer it is actually a part of gets freed.
2002-06-05 01:01:20 +00:00
Tim J. Robbins
4f18100d73
Respect setting of the COLUMNS environment variable (SUSv3)
2002-06-04 10:20:10 +00:00
Josef Karthauser
d883e289b9
The sysctl has changed from 'kern.ps_showallprocs' to
...
'security.bsd.see_other_uids'.
2002-05-16 11:51:05 +00:00