Commit Graph

40 Commits

Author SHA1 Message Date
ru
4de1ee30af -mdoc sweep. 2005-11-18 10:36:29 +00:00
pjd
dfac941430 Sync as close as possible with NetBSD.
This includes fixes and cleanups listed below:

- If a process dissappears while we are signalling it, don't count it as a
  match/error.
- Better handling of errors and messages.
- Downgrade failure to kill(2) (other than ESRCH) from fatal error to a
  warning; otherwise processing aborts and possibly matching killees would
  remain unsignalled. This makes pkill match the Solaris behavior.
- Exit with 2 on usage errors as documented.

Obtained from:	NetBSD
Glanced at by:	maintainer (gad) [a bit different version of this patch]
2005-11-16 11:03:00 +00:00
pjd
2f35b6aa00 I often find myself doing:
% pgrep <something> [to verify which processes match]
	% pkill <something>

To speed such operation up, add -I option which works like rm(1)'s -i
option (unfortunately -i is already used in pkill(1)), ie. pkill will
ask for confirmation before killing each matching process.

After adding -j, -F, -i, -S, -o and -L options and other improvements,
I think I can add myself to the copyright header.

Glanced at by:	maintainer (gad)
2005-11-16 10:36:44 +00:00
pjd
fe9f2ab734 Revert previous behaviour of '-F' option and add '-L' option, which will
tell pkill(1)/pgrep(1) to try to flock(2) pidfile before reading PID from
there.

Discussed with:	jhb, gad
2005-08-25 20:10:47 +00:00
pjd
242683f73f Modify '-F' option to work nicely with pidfile(3) - a pidfile given as
an argument has to be locked.
2005-08-24 19:38:28 +00:00
ru
19aa3916e2 Markup and wording fixes.
Approved by:	re (blanket)
2005-06-14 11:50:53 +00:00
pjd
1fbe41652e Whitespace fixes. 2005-03-20 11:47:44 +00:00
pjd
c7d05e490c - Introduce an '-o' option which allows to match oldest of the matching
processes.
  This option can be also found in Solaris and Linux.
- Use timercmp(9) macro for timeval comparsion.
- Include time.h directly, don't depend on stat.h doing it for us.

Reviewed by:	gad (first point)
MFC after:	3 days
2005-03-20 11:42:26 +00:00
pjd
a5414c9dd1 - Introduce '-S' option which allows to match system processes (pgrep only).
- Rename IS_KERNPROC() macro to PSKIP() and extend its functionality.
  Now it'll skip calling process and system processes when -S is not given.
  As a side effect it fixes '-n' option. Before it was always matching
  calling process (because of missing 'if (kp->ki_pid == mypid)' check)
  and after that, calling process was ignored.
- When '-l' option is given and there are no arguments, use p_comm as an
  arguments list (this is helpful for kernel threads matching).

Reviewed by:	gad
MFC after:	3 days
2005-03-20 11:30:26 +00:00
pjd
b616d49d9f Sort options properly.
Reviewed by:	gad
MFC after:	3 days
2005-03-20 11:17:06 +00:00
pjd
d88f375460 Add a -i option to ignore case in the process match.
Obtained from:	NetBSD
Reviewed by:	gad
MFC after:	3 days
2005-03-20 11:12:13 +00:00
pjd
3f98083e57 Add and document '-F' option which allows to use file where PID is stored
for matching.

Reviewed by:	gad
MFC after:	3 days
2005-03-20 11:03:11 +00:00
pjd
2b2f4d5e6e Add and document '-j' option which allows to match processes based on its
jail ID.

Reviewed by:	gad
MFC after:	3 days
2005-03-20 10:53:54 +00:00
delphij
3ec33a490c If a user or group is not known, report the problem user/group, rather than
the first user/group. Caused huge fun in error messages from large script.
Old:	pgrep -u root,NoSuchUser,daemon	-> pgrep: unknown user `root'
Now:	pgrep -u root,NoSuchUser,daemon	-> pgrep: unknown user `NoSuchUser'

Obtained from:	NetBSD (rev. 1.8)
MFC After:	1 week (if re@ would have approved this)
2005-03-03 02:17:20 +00:00
ru
d5be7de9fe Removed bitrot. 2004-11-13 17:12:22 +00:00
gad
ceceffc9d5 Document the fact that matching against a process command-name will
only work on the first MAXCOMLEN (19) characters of that name.

Noticed by:	Peter Holm
2004-08-16 04:49:43 +00:00
stefanf
e3ed14c7c1 Don't forget the arguments for -M and -N in the DESCRIPTION section. 2004-07-18 23:05:31 +00:00
tjr
a2ba9d448d Respect locale settings from the environment. 2004-07-15 08:13:56 +00:00
phk
40dd98a3bd Second half of the dev_t cleanup.
The big lines are:
	NODEV -> NULL
	NOUDEV -> NODEV
	udev_t -> dev_t
	udev2dev() -> findcdev()

Various minor adjustments including handling of userland access to kernel
space struct cdev etc.
2004-06-17 17:16:53 +00:00
ru
197b6179fc Added pgrep to the SYNOPSIS.
Fixed SYNOPSIS.
Fixed markup nits.
2004-05-19 10:46:56 +00:00
gad
44647935be Use KERN_PROC_PROC instead of KERN_PROC_ALL on the call to kvm_getprocs(),
so we get one line per process instead of one for each kernel-thread.

Noticed by:	ache & tjr
2004-03-30 15:10:50 +00:00
gad
0544a9076c bde also tells me that he is confident that P_SYSTEM will not work
any better on 4.x than it does on 5.2. If that's true then there
is no point to the __FreeBSD_version check that I had added.
2004-03-27 06:49:57 +00:00
gad
6f505f861a Some style(9)-ish improvements, courtesy of bde.
Noticed by:	bde
2004-03-27 05:40:31 +00:00
gad
b44e46cbe7 Remove the _PATH_DEVNULL setting for "swapf". From the kvm_open(3)
man page:  The swapfile argument is currently unused.

Noticed by:	ru
2004-03-26 19:29:57 +00:00
gad
c68ce6b369 Remove the NEED_KMEM support meant for FreeBSD 3.x. This base-system
version isn't going to be committed to that branch...

Noticed by:	des
2004-03-26 18:02:40 +00:00
gad
56527d5cca Switch to checking P_KTHREAD instead of P_SYSTEM when deciding what
"system processes" to always ignore.  Based on my testing with `-D',
I am pretty sure this is what we want for 5.x-current.  If my thinking
is wrong, this also makes it easier to switch to a different check.
2004-03-26 17:51:49 +00:00
ru
e07a59b2f0 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
ru
f969fd5d33 Correct the description of options -N and -M to match reality. 2004-03-26 08:47:01 +00:00
ru
96600648f5 Apply style.Makefile(5). 2004-03-26 07:44:49 +00:00
gad
287db31bb7 Send those -Debug messages to stderr, not stdout... 2004-03-26 02:20:52 +00:00
gad
571652e41d Add a debugging option, as I don't understand something that I'm seeing.
(this is a probably temporary option, and is not to be documented)
2004-03-26 01:43:19 +00:00
gad
15a643c5a9 Remove a redundant check against mypid (the check is done later, in
the "Take the appropriate action" section).

Obtained from:	the sysutils/pkill port
2004-03-26 01:30:15 +00:00
gad
cdcabcc058 Add a cast to get this to compile with WARNS=5 on sparc64. This is
needed because off_t == __int64_t, while size_t == __uint64_t.  This
also compiles with WARNS=5 on amd64, but I haven't tested the other
platforms yet.
2004-03-26 00:36:27 +00:00
gad
f1cfebc0c5 Fixes so this will compile with WARNS=5 on i386. 2004-03-26 00:15:20 +00:00
gad
76e43dfda7 Fix two cosmetic style(9) issues. 2004-03-25 23:35:14 +00:00
gad
3efbac5f39 Add a comment for when these utilities were added to FreeBSD, and add
a cross-reference to killall(1).
2004-03-25 23:32:12 +00:00
gad
a932a157f4 Add -M' and -N' options to pkill' and pgrep', similar to
what are supported in `ps':

  -M  Extract values associated with the name list from the
      specified core instead of the default /dev/kmem.
  -N  Extract the name list from the specified system instead
      of the default /kernel.

Written by:	Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
Obtained from:	the sysutils/pkill port
2004-03-25 23:19:16 +00:00
gad
6db55881ec Use the correct type for some casts, thus avoiding a few warning messages
when compiling with WARNS=3

Written by:	Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
Obtained from:	the sysutils/pkill port
2004-03-25 22:08:52 +00:00
gad
4200a71a9f Change some routine and variable names to match the FreeBSD system.
Written by:	Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
Obtained from:	the sysutils/pkill port
2004-03-25 21:58:56 +00:00
gad
efe93d08ec Add the pkill' and pgrep' commands from NetBSD. This is the source
straight from NetBSD (except to add the RCS-ID lines for FreeBSD).
These will probably require a few updates before they are added to
the FreeBSD buildworld.  I might MFC these to 4.x-stable after 4.10.

Discussed on:	freebsd-arch
Obtained from:	NetBSD (and OpenBSD also has these)
2004-03-25 19:08:48 +00:00