Merge branch 'masatake/procps-pidof-sep-option'
References: procps-ng/procps!58
This commit is contained in:
commit
825469fcb6
5
pidof.1
5
pidof.1
@ -27,6 +27,8 @@ pidof -- find the process ID of a running program.
|
|||||||
.IR omitpid[,omitpid..] ]
|
.IR omitpid[,omitpid..] ]
|
||||||
.RB [ \-o
|
.RB [ \-o
|
||||||
.IR omitpid[,omitpid..].. ]
|
.IR omitpid[,omitpid..].. ]
|
||||||
|
.RB [ \-S
|
||||||
|
.IR separator ]
|
||||||
.B program
|
.B program
|
||||||
.RB [ program.. ]
|
.RB [ program.. ]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
@ -47,6 +49,9 @@ shells running the named scripts.
|
|||||||
Tells \fIpidof\fP to omit processes with that process id. The special
|
Tells \fIpidof\fP to omit processes with that process id. The special
|
||||||
pid \fB%PPID\fP can be used to name the parent process of the \fIpidof\fP
|
pid \fB%PPID\fP can be used to name the parent process of the \fIpidof\fP
|
||||||
program, in other words the calling shell or shell script.
|
program, in other words the calling shell or shell script.
|
||||||
|
.IP "-S \fIseparator\fP"
|
||||||
|
Use \fIseparator\fP as a separator put between pids. Used only when
|
||||||
|
more than one pids are printed for the program.
|
||||||
.SH "EXIT STATUS"
|
.SH "EXIT STATUS"
|
||||||
.TP
|
.TP
|
||||||
.B 0
|
.B 0
|
||||||
|
10
pidof.c
10
pidof.c
@ -64,6 +64,7 @@ static int __attribute__ ((__noreturn__)) usage(int opt)
|
|||||||
fputs(_(" -c, --check-root omit processes with different root\n"), fp);
|
fputs(_(" -c, --check-root omit processes with different root\n"), fp);
|
||||||
fputs(_(" -x also find shells running the named scripts\n"), fp);
|
fputs(_(" -x also find shells running the named scripts\n"), fp);
|
||||||
fputs(_(" -o, --omit-pid <PID,...> omit processes with PID\n"), fp);
|
fputs(_(" -o, --omit-pid <PID,...> omit processes with PID\n"), fp);
|
||||||
|
fputs(_(" -S, --separator SEP use SEP as separator put between PIDs"), fp);
|
||||||
fputs(USAGE_SEPARATOR, fp);
|
fputs(USAGE_SEPARATOR, fp);
|
||||||
fputs(USAGE_HELP, fp);
|
fputs(USAGE_HELP, fp);
|
||||||
fputs(USAGE_VERSION, fp);
|
fputs(USAGE_VERSION, fp);
|
||||||
@ -287,12 +288,14 @@ int main (int argc, char **argv)
|
|||||||
int found = 0;
|
int found = 0;
|
||||||
int first_pid = 1;
|
int first_pid = 1;
|
||||||
|
|
||||||
const char *opts = "scnxmo:?Vh";
|
const char *separator = " ";
|
||||||
|
const char *opts = "scnxmo:S:?Vh";
|
||||||
|
|
||||||
static const struct option longopts[] = {
|
static const struct option longopts[] = {
|
||||||
{"check-root", no_argument, NULL, 'c'},
|
{"check-root", no_argument, NULL, 'c'},
|
||||||
{"single-shot", no_argument, NULL, 's'},
|
{"single-shot", no_argument, NULL, 's'},
|
||||||
{"omit-pid", required_argument, NULL, 'o'},
|
{"omit-pid", required_argument, NULL, 'o'},
|
||||||
|
{"separator", required_argument, NULL, 's'},
|
||||||
{"help", no_argument, NULL, 'h'},
|
{"help", no_argument, NULL, 'h'},
|
||||||
{"version", no_argument, NULL, 'V'},
|
{"version", no_argument, NULL, 'V'},
|
||||||
{NULL, 0, NULL, 0}
|
{NULL, 0, NULL, 0}
|
||||||
@ -324,6 +327,9 @@ int main (int argc, char **argv)
|
|||||||
pidof_root = pid_link(getpid(), "root");
|
pidof_root = pid_link(getpid(), "root");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'S':
|
||||||
|
separator = optarg;
|
||||||
|
break;
|
||||||
case 'V':
|
case 'V':
|
||||||
printf (PROCPS_NG_VERSION);
|
printf (PROCPS_NG_VERSION);
|
||||||
exit (EXIT_SUCCESS);
|
exit (EXIT_SUCCESS);
|
||||||
@ -357,7 +363,7 @@ int main (int argc, char **argv)
|
|||||||
first_pid = 0;
|
first_pid = 0;
|
||||||
printf ("%ld", (long) procs[i].pid);
|
printf ("%ld", (long) procs[i].pid);
|
||||||
} else {
|
} else {
|
||||||
printf (" %ld", (long) procs[i].pid);
|
printf ("%s%ld", separator, (long) procs[i].pid);
|
||||||
}
|
}
|
||||||
if (opt_single_shot) break;
|
if (opt_single_shot) break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user