Hi, I have a system which monitors 2 UPSs, and it runs upslog twice. I had a problem with newsyslog rotating the log file because upslog keeps it open (arguably a bug IMO), but it also has no way of changing the PID file so newsyslog can't HUP it when log rotating. Attached is a patch which allows you to specify the argument for writepid() so you can differentiate them easily. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C -------------- next part -------------- --- clients/upslog.c.orig 2009-04-20 03:05:39.000000000 +0000 +++ clients/upslog.c 2009-04-20 03:11:21.000000000 +0000 @@ -109,6 +109,7 @@ printf(" - Use -f \"<format>\" so your shell doesn't break it up.\n"); printf(" -i <interval> - Time between updates, in seconds\n"); printf(" -l <logfile> - Log file name, or - for stdout\n"); + printf(" -p <pidbase> - Base name for PID file (defaults to \"upslog\")\n"); printf(" -s <ups> - Monitor UPS <ups> - <upsname>@<host>[:<port>]\n"); printf(" - Example: -s myups at server\n"); printf(" -u <user> - Switch to <user> if started as root\n"); @@ -371,6 +372,7 @@ char *prog = NULL; const char *user = NULL; struct passwd *new_uid = NULL; + const char *pidfilebase = "upslog"; logformat = DEFAULT_LOGFORMAT; user = RUN_AS_USER; @@ -379,7 +381,7 @@ prog = argv[0]; - while ((i = getopt(argc, argv, "+hs:l:i:f:u:V")) != -1) { + while ((i = getopt(argc, argv, "+hs:l:i:f:u:Vp:")) != -1) { switch(i) { case 'h': help(prog); @@ -407,6 +409,10 @@ case 'V': exit(EXIT_SUCCESS); + + case 'p': + pidfilebase = optarg; + break; } } @@ -476,7 +482,7 @@ setup_signals(); - writepid("upslog"); + writepid(pidfilebase); become_user(new_uid); -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: This is a digitally signed message part. URL: <http://lists.alioth.debian.org/pipermail/nut-upsdev/attachments/20090420/dd3f677e/attachment.pgp>