Completed the documentation of the new `-P' commandline option.
[collectd.git] / src / collectd.c
index 2720590..98b9a16 100644 (file)
@@ -123,6 +123,8 @@ static void exit_usage (char *name)
                        "  General:\n"
                        "    -C <file>       Configuration file.\n"
                        "                    Default: "CONFIGFILE"\n"
+                       "    -P <file>       PID-file.\n"
+                       "                    Default: "PIDFILE"\n"
 #if COLLECT_DAEMON
                        "    -f              Don't fork to the background.\n"
 #endif
@@ -281,7 +283,7 @@ int main (int argc, char **argv)
        char *configfile = CONFIGFILE;
 #if COLLECT_DAEMON
        struct sigaction sigChldAction;
-       char *pidfile    = PIDFILE;
+       char *pidfile    = NULL;
        pid_t pid;
        int daemonize    = 1;
 #endif
@@ -291,6 +293,8 @@ int main (int argc, char **argv)
 
 #if HAVE_LIBRRD
        operating_mode = MODE_LOCAL;
+#else
+       operating_mode = MODE_CLIENT;
 #endif
 
        /* open syslog */
@@ -303,7 +307,7 @@ int main (int argc, char **argv)
 
                c = getopt (argc, argv, "hC:"
 #if COLLECT_DAEMON
-                               "f"
+                               "fP:"
 #endif
                );
 
@@ -316,6 +320,9 @@ int main (int argc, char **argv)
                                configfile = optarg;
                                break;
 #if COLLECT_DAEMON
+                       case 'P':
+                               pidfile = optarg;
+                               break;
                        case 'f':
                                daemonize = 0;
                                break;
@@ -366,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 ((pidfile == NULL)
+                       && ((pidfile = cf_get_option ("PIDFile", PIDFILE)) == NULL))
        {
                fprintf (stderr, "Cannot obtain pidfile. This shoud not happen. Ever.");
                return (1);