diff --git a/pidof.1 b/pidof.1 index f49cd234..15b40317 100644 --- a/pidof.1 +++ b/pidof.1 @@ -27,6 +27,8 @@ pidof -- find the process ID of a running program. .IR omitpid[,omitpid..] ] .RB [ \-o .IR omitpid[,omitpid..].. ] +.RB [ \-S +.IR separator ] .B program .RB [ program.. ] .SH DESCRIPTION @@ -47,6 +49,9 @@ shells running the named scripts. 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 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" .TP .B 0 diff --git a/pidof.c b/pidof.c index 01f0c0a1..8159147d 100644 --- a/pidof.c +++ b/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(_(" -x also find shells running the named scripts\n"), fp); fputs(_(" -o, --omit-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_HELP, fp); fputs(USAGE_VERSION, fp); @@ -287,12 +288,14 @@ int main (int argc, char **argv) int found = 0; int first_pid = 1; - const char *opts = "scnxmo:?Vh"; + const char *separator = " "; + const char *opts = "scnxmo:S:?Vh"; static const struct option longopts[] = { {"check-root", no_argument, NULL, 'c'}, {"single-shot", no_argument, NULL, 's'}, {"omit-pid", required_argument, NULL, 'o'}, + {"separator", required_argument, NULL, 's'}, {"help", no_argument, NULL, 'h'}, {"version", no_argument, NULL, 'V'}, {NULL, 0, NULL, 0} @@ -324,6 +327,9 @@ int main (int argc, char **argv) pidof_root = pid_link(getpid(), "root"); } break; + case 'S': + separator = optarg; + break; case 'V': printf (PROCPS_NG_VERSION); exit (EXIT_SUCCESS); @@ -357,7 +363,7 @@ int main (int argc, char **argv) first_pid = 0; printf ("%ld", (long) procs[i].pid); } else { - printf (" %ld", (long) procs[i].pid); + printf ("%s%ld", separator, (long) procs[i].pid); } if (opt_single_shot) break; }