Add the `-P' command line option.
authorSebastian Harl <sh@tokkee.org>
Wed, 11 Oct 2006 21:03:42 +0000 (23:03 +0200)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sun, 22 Oct 2006 16:12:22 +0000 (18:12 +0200)
This option may be used to set the pid file, overwriting any settings found
in the config file.

Signed-off-by: Sebastian Harl <sh@tokkee.org>
src/collectd.c
src/collectd.pod

index 0d9c90f..e069bfe 100644 (file)
@@ -282,6 +282,7 @@ int main (int argc, char **argv)
 #if COLLECT_DAEMON
        struct sigaction sigChldAction;
        char *pidfile    = PIDFILE;
+       int have_pidfile = 0;
        pid_t pid;
        int daemonize    = 1;
 #endif
@@ -305,7 +306,7 @@ int main (int argc, char **argv)
 
                c = getopt (argc, argv, "hC:"
 #if COLLECT_DAEMON
-                               "f"
+                               "fP:"
 #endif
                );
 
@@ -318,6 +319,10 @@ int main (int argc, char **argv)
                                configfile = optarg;
                                break;
 #if COLLECT_DAEMON
+                       case 'P':
+                               pidfile      = optarg;
+                               have_pidfile = 1;
+                               break;
                        case 'f':
                                daemonize = 0;
                                break;
@@ -368,7 +373,8 @@ int main (int argc, char **argv)
        sigChldAction.sa_handler = SIG_IGN;
        sigaction (SIGCHLD, &sigChldAction, NULL);
 
-       if ((pidfile = cf_get_option ("PIDFile", PIDFILE)) == NULL)
+       if ((1 != have_pidfile)
+                       && ((pidfile = cf_get_option ("PIDFile", PIDFILE)) == NULL))
        {
                fprintf (stderr, "Cannot obtain pidfile. This shoud not happen. Ever.");
                return (1);
index 26185ee..095463c 100644 (file)
@@ -110,6 +110,11 @@ Specify an alternative config file. This is the place to go when you wish to
 change B<collectd>'s behavior. The path may be relative to the current working
 directory.
 
+=item B<-P> I<E<lt>pid-fileE<gt>>
+
+Specify an alternative pid file. This overwrites any settings in the config 
+file.
+
 =item B<-f>
 
 Don't fork to the background. I<collectd> will also B<not> close standard file