[RFC] [patch] pkill verbose option
Eitan Adler
eitanadlerlist at gmail.com
Thu Feb 4 10:26:32 UTC 2010
This patch hijacks pgrep's -l
Index: pkill.1
===================================================================
--- pkill.1 (revision 203347)
+++ pkill.1 (working copy)
@@ -168,9 +168,9 @@
If used in conjunction with
.Fl f ,
print the process ID and the full argument list for each matching process.
-This option can only be used with the
-.Nm pgrep
-command.
+If used in conjunction with the
+.Nm pkill
+command, it lists the signal sent as well.
.It Fl n
Select only the newest (most recently started) of the matching processes.
.It Fl o
Index: pkill.c
===================================================================
--- pkill.c (revision 203347)
+++ pkill.c (working copy)
@@ -182,7 +182,7 @@
pidfilelock = 0;
execf = coref = _PATH_DEVNULL;
- while ((ch = getopt(argc, argv,
"DF:G:ILM:N:P:SU:ad:fg:ij:lnos:t:u:vx")) != -1)
+ while ((ch = getopt(argc, argv,
"DF:G:ILM:N:P:SU:ad:fg:ilj:lnos:t:u:vx")) != -1)
switch (ch) {
case 'D':
debug_opt++;
@@ -245,8 +245,6 @@
criteria = 1;
break;
case 'l':
- if (!pgrep)
- usage();
longfmt = 1;
break;
case 'n':
@@ -528,16 +526,26 @@
/*
* Take the appropriate action for each matched process, if any.
*/
+ int didAction = 0;
for (i = 0, rv = 0, kp = plist; i < nproc; i++, kp++) {
if (PSKIP(kp))
continue;
if (selected[i]) {
+ if (longfmt)
+ {
+ didAction = 1;
+ printf("kill -%d %d\n",signum,kp->ki_pid);
+ }
if (inverse)
continue;
} else if (!inverse)
continue;
rv |= (*action)(kp);
}
+ if (!didAction && !pgrep)
+ {
+ printf("No matching processes belonging to you were
found\n");
+ }
exit(rv ? STATUS_MATCH : STATUS_NOMATCH);
}
On Thu, Feb 4, 2010 at 11:24 AM, Jason Spiro <jasonspiro4 at gmail.com> wrote:
> jhell <jhell <at> DataIX.net> writes:
>
> [snip]
> >
> > Now pkill -v sleep on my system actually causes my Xserver to exit with a
> > unexpected signal 15.
>
> Yes. "pkill -v sleep" kills all your own processes except for sleep. As
> root,
> it kills all processes running on your machine except for sleep.
>
> -V is not a good choice of letter for this option: it's too easy to write
> -v
> instead by accident. -l (dash-ell), as jhell has suggested elsewhere in
> this
> thread, would be ideal, since it's lowercase and easy to type. If you
> don't
> like -l, you could choose to make it -D (for "Debug") instead.
>
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>
More information about the freebsd-hackers
mailing list