Submit #3163 ยป kill-dash-t.patch
| usr.bin/pkill/pkill.1 | ||
|---|---|---|
|
.Op Fl u Ar euid
|
||
|
.Ar pattern ...
|
||
|
.Nm pkill
|
||
|
.Op Fl Ar signal
|
||
|
.Op Fl ILafilnovx
|
||
|
.Op Fl ATr signal
|
||
|
.Op Fl ITLafilnovx
|
||
|
.Op Fl F Ar pidfile
|
||
|
.Op Fl G Ar gid
|
||
|
.Op Fl M Ar core
|
||
| ... | ... | |
|
A single dash
|
||
|
.Pq Ql -
|
||
|
matches processes not associated with a terminal.
|
||
|
.It Fl T
|
||
|
Restrict matches to processes associated with the current terminal.
|
||
|
.It Fl u Ar euid
|
||
|
Restrict matches to processes with an effective user ID in the
|
||
|
comma-separated list
|
||
| usr.bin/pkill/pkill.c | ||
|---|---|---|
|
int
|
||
|
main(int argc, char **argv)
|
||
|
{
|
||
|
char buf[_POSIX2_LINE_MAX], *mstr, **pargv, *p, *q, *pidfile;
|
||
|
char buf[_POSIX2_LINE_MAX], *mstr, **pargv, *p, *q, *pidfile, *this_tty;
|
||
|
const char *execf, *coref;
|
||
|
int ancestors, debug_opt, did_action;
|
||
|
int i, ch, bestidx, rv, criteria, pidfromfile, pidfilelock;
|
||
| ... | ... | |
|
execf = NULL;
|
||
|
coref = _PATH_DEVNULL;
|
||
|
while ((ch = getopt(argc, argv, "DF:G:ILM:N:P:SU:ac:d:fg:ij:lnoqs:t:u:vx")) != -1)
|
||
|
while ((ch = getopt(argc, argv, "DF:G:ILM:N:P:STU:ac:d:fg:ij:lnoqs:t:u:vx")) != -1)
|
||
|
switch (ch) {
|
||
|
case 'D':
|
||
|
debug_opt++;
|
||
| ... | ... | |
|
makelist(&tdevlist, LT_TTY, optarg);
|
||
|
criteria = 1;
|
||
|
break;
|
||
|
case 'T':
|
||
|
this_tty = ttyname(0) + sizeof(_PATH_DEV) - 1;
|
||
|
makelist(&tdevlist, LT_TTY, this_tty);
|
||
|
break;
|
||
|
case 'u':
|
||
|
makelist(&euidlist, LT_USER, optarg);
|
||
|
criteria = 1;
|
||
| ... | ... | |
|
fprintf(stderr,
|
||
|
"usage: %s %s [-F pidfile] [-G gid] [-M core] [-N system]\n"
|
||
|
" [-P ppid] [-U uid] [-c class] [-g pgrp] [-j jid]\n"
|
||
|
" [-s sid] [-t tty] [-u euid] pattern ...\n",
|
||
|
" [-s sid] [-T] [-t tty] [-u euid] pattern ...\n",
|
||
|
getprogname(), ustr);
|
||
|
exit(STATUS_BADUSAGE);
|
||