Recognise the -l switch with pkill - list kill command(s) used.
PR: 143558 Submitted by: eitanadlerlist at gmail dot com MFC after: 3 weeks
This commit is contained in:
parent
f0cc075c4f
commit
3ba0e47047
@ -156,14 +156,16 @@ The value
|
||||
matches processes not in jail.
|
||||
.It Fl l
|
||||
Long output.
|
||||
Print the process name in addition to the process ID for each matching
|
||||
For
|
||||
.Nm pgrep ,
|
||||
print the process name in addition to the process ID for each matching
|
||||
process.
|
||||
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.
|
||||
For
|
||||
.Nm pkill ,
|
||||
display the kill command used for each process killed.
|
||||
.It Fl n
|
||||
Select only the newest (most recently started) of the matching processes.
|
||||
.It Fl o
|
||||
|
@ -128,7 +128,7 @@ main(int argc, char **argv)
|
||||
{
|
||||
char buf[_POSIX2_LINE_MAX], *mstr, **pargv, *p, *q, *pidfile;
|
||||
const char *execf, *coref;
|
||||
int ancestors, debug_opt;
|
||||
int ancestors, debug_opt, did_action;
|
||||
int i, ch, bestidx, rv, criteria, pidfromfile, pidfilelock;
|
||||
size_t jsz;
|
||||
int (*action)(const struct kinfo_proc *);
|
||||
@ -242,8 +242,6 @@ main(int argc, char **argv)
|
||||
criteria = 1;
|
||||
break;
|
||||
case 'l':
|
||||
if (!pgrep)
|
||||
usage();
|
||||
longfmt = 1;
|
||||
break;
|
||||
case 'n':
|
||||
@ -530,16 +528,24 @@ main(int argc, char **argv)
|
||||
/*
|
||||
* Take the appropriate action for each matched process, if any.
|
||||
*/
|
||||
did_action = 0;
|
||||
for (i = 0, rv = 0, kp = plist; i < nproc; i++, kp++) {
|
||||
if (PSKIP(kp))
|
||||
continue;
|
||||
if (selected[i]) {
|
||||
if (longfmt && !pgrep) {
|
||||
did_action = 1;
|
||||
printf("kill -%d %d\n", signum, kp->ki_pid);
|
||||
}
|
||||
if (inverse)
|
||||
continue;
|
||||
} else if (!inverse)
|
||||
continue;
|
||||
rv |= (*action)(kp);
|
||||
}
|
||||
if (!did_action && !pgrep && longfmt)
|
||||
fprintf(stderr,
|
||||
"No matching processes belonging to you were found\n");
|
||||
|
||||
exit(rv ? STATUS_MATCH : STATUS_NOMATCH);
|
||||
}
|
||||
@ -552,7 +558,7 @@ usage(void)
|
||||
if (pgrep)
|
||||
ustr = "[-LSfilnoqvx] [-d delim]";
|
||||
else
|
||||
ustr = "[-signal] [-ILfinovx]";
|
||||
ustr = "[-signal] [-ILfilnovx]";
|
||||
|
||||
fprintf(stderr,
|
||||
"usage: %s %s [-F pidfile] [-G gid] [-M core] [-N system]\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user