Commit Graph

119 Commits

Author SHA1 Message Date
markm
b36b036677 Compensate for header dethreading. 2001-05-01 08:39:23 +00:00
brian
766f72a0f5 Correct some markup
Submitted by:	bde
2001-04-12 20:04:54 +00:00
brian
5778f9cdd1 Introduce -osid and -otsid
Submitted by: dd
2001-04-11 22:42:54 +00:00
brian
128b494724 Remove tsess for now.
This (and sess) may come back shortly.
2001-04-07 11:22:26 +00:00
brian
85867e9d5b Update documentation in line with what the code does
PR:		25435
Submitted by:	dd
Forgotten by:	mckusick
2001-04-07 11:16:41 +00:00
brian
3f36d8d0d3 The sess column went away last December with v1.26 of keyword.c
Remove it from ``jfmt''.

Forgotten by: mckusick
2001-04-07 02:53:35 +00:00
ache
8a18d60de0 Small optimization: set use_ampm only when needed 2001-03-03 01:46:58 +00:00
ache
53a7b40fdc Use AM/PM time only when available in locale 2001-03-02 23:53:36 +00:00
obrien
fe8a85ef41 Fix style bug I introduced with rev 1.13 (rcsid after includes).
Along with CSRG id lossage in rev 1.11.

Submitted by:	bde
2001-02-28 11:06:04 +00:00
obrien
cd4c00fb6b Add rcsid. 2001-02-27 10:50:06 +00:00
jlemon
5f9e45a640 Do not coredump if no options are supplied. (ps -o,)
Submitted by: rgrimes
Obtained from: NetBSD
2001-02-14 18:54:34 +00:00
jake
9437320062 Catch up to new priority interface. 2001-02-12 00:21:38 +00:00
ache
f3f24d3081 Use decimal point from locale 2001-02-11 02:25:56 +00:00
ru
b1c3961564 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
jhb
2dbedd3879 - Catch up to new proc flags. 2001-01-24 12:59:50 +00:00
mckusick
1c2d14cff5 Restore the rss (-u) keyword that got deleted in my somewhat over-zealous
cleanup effort.

Submitted by:	Mark Peek <mark@whistle.com>
2000-12-16 02:01:05 +00:00
ru
951f048dbb Prepare for mdoc(7)NG. 2000-12-15 17:37:31 +00:00
mckusick
7d330b9cd3 Change the proc information returned from the kernel so that it
no longer contains kernel specific data structures, but rather
only scalar values and structures that are already part of the
kernel/user interface, specifically rusage and rtprio. It no
longer contains proc, session, pcred, ucred, procsig, vmspace,
pstats, mtx, sigiolst, klist, callout, pasleep, or mdproc. If
any of these changed in size, ps, w, fstat, gcore, systat, and
top would all stop working. The new structure has over 200 bytes
of unassigned space for future values to be added, yet is nearly
100 bytes smaller per entry than the structure that it replaced.
2000-12-12 07:25:57 +00:00
jhb
8c6c29deba Document the mtxname keyword.
Reviewed by:	sheldonh
2000-11-30 19:17:56 +00:00
jhb
6ef2fea424 Introduce a 'mtxname' keyword that displays the current mutex that a
process is blocked on or '-'.
2000-11-29 21:09:21 +00:00
ru
c835e11eed mdoc(7) police: use the new features of the Nm macro. 2000-11-20 11:39:41 +00:00
jedgar
137dcbe72f Remove obsolete /dev/drum references
Reviewed by:	alex, asmodai, billf
2000-10-29 12:19:52 +00:00
kris
e76bb21f79 No need to work around SCCS variable expansion any more. 2000-09-28 02:54:44 +00:00
brian
8829d062a6 Support multiple (comma separated) names as arguments to -U
PR: 11051
2000-09-26 01:03:16 +00:00
jasone
daa58ba7a4 Major update to the way synchronization is done in the kernel. Highlights
include:

* Mutual exclusion is used instead of spl*().  See mutex(9).  (Note: The
  alpha port is still in transition and currently uses both.)

* Per-CPU idle processes.

* Interrupts are run in their own separate kernel threads and can be
  preempted (i386 only).

Partially contributed by:	BSDi (BSD/OS)
Submissions by (at least):	cp, dfr, dillon, grog, jake, jhb, sheldonh
2000-09-07 01:33:02 +00:00
will
a9f5ed66a5 Fix the exit code for the case where nentries == 0; if a PID doesn't exist,
ps(1) should not be returning a success code (0), it should return an
error code (1).  This was fixed on OpenBSD over 3 years ago.

PR:		19069
Submitted by:	Jim Sloan <odinn@atlantabiker.net>
Reviewed by:	rwatson
2000-07-08 05:13:10 +00:00
peter
938bef9779 I'm probably jumping the gun, but what the heck, this is -current.
Turn off setgid-kmem for /bin/ps, it's now quite functional without it.
ps no longer needs /dev/*mem or /proc.  (It will still use some /proc
files if they are available for -e, but it's not required, so it'll
happily run in a jail or chroot).

The proc stats are now part of eproc (obtained via sysctl) and no longer
needs to beat up the u-page reading code and the problems with that.

This also has the side effect of disabling 'ps -e' for normal users
*EXCEPT* when looking at their own processes.  ie: they can see
environments in processes with their uid, enforced by the ownership of
/proc/*/mem.  Root can still see them all, as it can open all /proc/*/mem.
1999-11-17 13:37:30 +00:00
peter
0f063714b6 Use eproc.e_stats, not a series of crude hacks to fetch it from the u-area.
Also, fix some indentation that got messed up somehow..
1999-11-17 12:52:42 +00:00
phk
9e8e07135f Introduce commandline caching in the kernel.
This fixes some nasty procfs problems for SMP, makes ps(1) run much faster,
and makes ps(1) even less dependent on /proc which will aid chroot and
jails alike.

To disable this facility and revert to previous behaviour:
        sysctl -w kern.ps_arg_cache_limit=0

For full details see the current@FreeBSD.org mail-archives.
1999-11-16 20:31:58 +00:00
kris
66eb9e9f62 Typo (appropiate -> appropriate)
Obtained from:	OpenBSD (inspired by)
1999-11-15 03:37:57 +00:00
peter
3b7c52fb9a $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
kris
a5048ed9e5 Correct reference to the obsolete vadvise() to madvise() (with appropriate
arguments)

PR:		11586
Submitted by:	David Gilbert <dgilbert@velocet.ca>
Reviewed by:	Doug Rabson
1999-06-30 11:50:09 +00:00
kris
935bd87c22 Various spelling/formatting changes.
Submitted by: Philippe Charnier <charnier@xp11.frmug.org>
1999-05-08 10:22:15 +00:00
phk
79134080a0 This Implements the mumbled about "Jail" feature.
This is a seriously beefed up chroot kind of thing.  The process
is jailed along the same lines as a chroot does it, but with
additional tough restrictions imposed on what the superuser can do.

For all I know, it is safe to hand over the root bit inside a
prison to the customer living in that prison, this is what
it was developed for in fact:  "real virtual servers".

Each prison has an ip number associated with it, which all IP
communications will be coerced to use and each prison has its own
hostname.

Needless to say, you need more RAM this way, but the advantage is
that each customer can run their own particular version of apache
and not stomp on the toes of their neighbors.

It generally does what one would expect, but setting up a jail
still takes a little knowledge.

A few notes:

   I have no scripts for setting up a jail, don't ask me for them.

   The IP number should be an alias on one of the interfaces.

   mount a /proc in each jail, it will make ps more useable.

   /proc/<pid>/status tells the hostname of the prison for
   jailed processes.

   Quotas are only sensible if you have a mountpoint per prison.

   There are no privisions for stopping resource-hogging.

   Some "#ifdef INET" and similar may be missing (send patches!)

If somebody wants to take it from here and develop it into
more of a "virtual machine" they should be most welcome!

Tools, comments, patches & documentation most welcome.

Have fun...

Sponsored by:   http://www.rndassociates.com/
Run for almost a year by:       http://www.servetheweb.com/
1999-04-28 11:38:52 +00:00
peter
b6ac417ceb Update p_flags doc. 1999-04-06 03:18:57 +00:00
peter
d233b6a696 Look at p_lock instead of P_NOSWAP etc as an indicator of unswappability.
(While here, put a #ifndef pgtok around the macro that gets a redefinition
 warning)
1999-04-06 03:17:57 +00:00
wpaul
69b98e37f3 On FreeBSD/alpha, ps(1) does not correctly report process start times
and CPU runtime because it can't access the user area via /proc/<pid>/mem.
This is because the uarea is not mapped into the process address space
at USRSTACK on the alpha like it is on the x86.

Since I'm haven't been able to wrap my brain around the VM system enough
to be able to figure out how to achieve this mapping, and since it's
questionable that such an architectural change is correct, I implemented
a workaround to allow ps(1) to read the uarea from /dev/kmem using
kvm_read() instead of from the process address space via kvm_uread().
The kludge is hidden inside #ifdef __alpha__/#endif so as not to impact
the x86. (Note that top(1) probably uses this same gimmick since it works
on FreeBSD/alpha.)

Reviewed by: dfr
1999-04-01 14:45:18 +00:00
julian
77672a61df Enable Linux threads support by default.
This takes the conditionals out of the code that has been tested by
various people for a while.
ps and friends (libkvm) will need a recompile as some proc structure
changes are made.

Submitted by:	"Richard Seaman, Jr." <dick@tar.com>
1999-01-26 02:38:12 +00:00
julian
26938d7eec Re-enable the options in ps(1) that were disabled with the Linux
threads support.

Submitted by:	"Richard Seaman, Jr." <dick@tar.com>
1999-01-13 03:11:43 +00:00
julian
f271b9be8e Reviewed by: Luoqi Chen, Jordan Hubbard
Submitted by:	 "Richard Seaman, Jr." <lists@tar.com>
Obtained from:	linux :-)

Code to allow Linux Threads to run under FreeBSD.

By default not enabled
This code is dependent on the conditional
COMPAT_LINUX_THREADS (suggested by Garret)
This is not yet a 'real' option but will be within some number of hours.
1998-12-19 02:55:34 +00:00
bde
67c1d3cb36 Fixed -Wall regression (broken in rev.1.12). Removed unused includes. 1998-12-07 10:25:48 +00:00
dfr
bfeed1c924 Fix formatting of %CPU value on alpha.
Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-11-25 09:34:00 +00:00
dfr
ba505a4c7c Portability fixes when sizeof(int) != sizeof(long). 1998-09-14 08:32:20 +00:00
bde
4d0d1bdf0d Fixed breakage of %CPU and %MEM in the previous commit. sysctlbyname()
was called with wrong args so it always failed.

PR:		7881
1998-09-10 18:06:28 +00:00
phk
1a1b91e398 Pick up kernel variables/constants using sysctl rather than through /dev/mem
Use /dev/null for opening the kvm library, we don't need access to /dev/mem
anymore.

ps can now run without the setgid(kmem) bit.  If it does it will not be
able to show argv/envp for another uid's processes unless you are root.
1998-06-30 21:34:14 +00:00
bde
846df0ccd8 Fixed printf format errors (second round with non-i386 typedefs). 1998-06-28 21:05:48 +00:00
bde
ae0ea8e208 Oops, the previous log message should have read "Fixed type mismatches -
don't assume that time_t is long".
1998-06-28 18:26:18 +00:00
bde
cd369d3872 Fixed printf format errors. 1998-06-28 18:19:13 +00:00
jkoshy
9ae2dba8f6 Remove compile time dependency on ARG_MAX.
PR: 1791 (partial)
Reviewed by: Bruce Evans <bde@freebsd.org>, Tor Egge <tegge@freebsd.org>
1998-06-17 11:33:10 +00:00
jkoshy
fb4783cb34 Fix errors that crept into the previous commit. 1998-06-04 07:02:59 +00:00