Add a -S switch to override the default syslog pid file. This can be useful

if syslogd's -P switch or a syslogd alternative is being used.

MFC after:	3 weeks
This commit is contained in:
Brian Somers 2010-07-23 09:11:47 +00:00
parent a6cca5d8a1
commit 318a43da85
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=210407
3 changed files with 25 additions and 10 deletions

View File

@ -17,7 +17,7 @@
.\" the suitability of this software for any purpose. It is
.\" provided "as is" without express or implied warranty.
.\"
.Dd January 19, 2010
.Dd July 23, 2010
.Dt NEWSYSLOG 8
.Os
.Sh NAME
@ -27,6 +27,7 @@
.Nm
.Op Fl CFNPnrsv
.Op Fl R Ar tagname
.Op Fl S Ar pidfile
.Op Fl a Ar directory
.Op Fl d Ar directory
.Op Fl f Ar config_file
@ -246,6 +247,12 @@ Skipping the signal step will also mean that
will return faster, since
.Nm
normally waits a few seconds after any signal that is sent.
.It Fl S Ar pidfile
Use
.Ar pidfile
as
.Xr syslogd 8 Ns 's
pidfile.
.El
.Pp
If additional command line arguments are given,

View File

@ -206,6 +206,8 @@ char daytime[DAYTIME_LEN]; /* The current time in human readable form,
* used for rotation-tracking messages. */
char hostname[MAXHOSTNAMELEN]; /* hostname */
const char *path_syslogpid = _PATH_SYSLOGPID;
static struct cflist *get_worklist(char **files);
static void parse_file(FILE *cf, struct cflist *work_p, struct cflist *glob_p,
struct conf_entry *defconf_p, struct ilist *inclist);
@ -655,6 +657,9 @@ parse_args(int argc, char **argv)
rotatereq++;
requestor = strdup(optarg);
break;
case 'S':
path_syslogpid = optarg;
break;
case 'm': /* Used by OpenBSD for "monitor mode" */
default:
usage();
@ -747,7 +752,7 @@ usage(void)
fprintf(stderr,
"usage: newsyslog [-CFNnrsv] [-a directory] [-d directory] [-f config-file]\n"
" [-t timefmt ] [ [-R requestor] filename ... ]\n");
" [-S pidfile] [-t timefmt ] [ [-R requestor] filename ... ]\n");
exit(1);
}
@ -1355,7 +1360,7 @@ parse_file(FILE *cf, struct cflist *work_p, struct cflist *glob_p,
working->flags &= ~CE_SIGNALGROUP;
}
if (needroot)
working->pid_file = strdup(_PATH_SYSLOGPID);
working->pid_file = strdup(path_syslogpid);
}
/*

View File

@ -21,7 +21,7 @@
.\" the suitability of this software for any purpose. It is
.\" provided "as is" without express or implied warranty.
.\"
.Dd November 27, 2006
.Dd July 23, 2010
.Dt NEWSYSLOG.CONF 5
.Os
.Sh NAME
@ -320,14 +320,17 @@ process ID or to find a group process ID if the
flag was specified.
If this field is present, a
.Ar signal_number
is sent the process ID contained in this file.
If this field is not present, then a
is sent to the process ID contained in this file.
If this field is not present and the
.Cm N
flag has not been specified, then a
.Dv SIGHUP
signal will be sent to
.Xr syslogd 8 ,
unless the
.Cm N
flag has been specified.
.Xr syslogd 8
or to the process id found in the file specified by
.Xr newsyslog 8 Ns 's
.Fl S
switch.
This field must start with
.Ql /
in order to be recognized properly.