aboutsummaryrefslogtreecommitdiff
path: root/src/genrc.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2018-05-17 21:37:57 +0300
committerSergey Poznyakoff <gray@gnu.org>2018-05-17 21:37:57 +0300
commit41e4cf7b5ad33dcfc7f472b9392831fa197fd8e2 (patch)
tree6efb7211f656932b6e1848fba21e3c71fb704819 /src/genrc.c
parente8e7bbc7de3355af2c14992e09e0881e95b8b580 (diff)
downloadgenrc-41e4cf7b5ad33dcfc7f472b9392831fa197fd8e2.tar.gz
genrc-41e4cf7b5ad33dcfc7f472b9392831fa197fd8e2.tar.bz2
Implement the --user and --group options.
Diffstat (limited to 'src/genrc.c')
-rw-r--r--src/genrc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/genrc.c b/src/genrc.c
index 92b0fac..d4904b6 100644
--- a/src/genrc.c
+++ b/src/genrc.c
@@ -40,15 +40,17 @@ struct option longopts[] = {
{ "no-reload", no_argument, 0, OPT_NO_RELOAD },
{ "signal-stop", required_argument, 0, OPT_SIGNAL_STOP },
{ "sentinel", no_argument, 0, 'S' },
{ "create-pidfile", required_argument, 0, OPT_CREATE_PIDFILE },
{ "version", no_argument, 0, OPT_VERSION },
{ "verbose", no_argument, 0, 'v' },
+ { "user", required_argument, 0, 'u' },
+ { "group", required_argument, 0, 'g' },
{ NULL }
};
-char shortopts[] = "c:hF:P:p:St:v";
+char shortopts[] = "c:hF:g:P:p:St:u:v";
struct sigdefn {
char const *sig_name;
int sig_no;
};
@@ -383,12 +385,15 @@ main(int argc, char **argv)
case 'F':
p = xmalloc(6 + strlen(optarg));
strcat(strcpy(p, "FILE:"), optarg);
setenv("GENRC_PID_FROM", p, 1);
free(p);
break;
+ case 'g':
+ setenv("GENRC_GROUP", optarg, 1);
+ break;
case OPT_CREATE_PIDFILE:
setenv("GENRC_CREATE_PIDFILE", optarg, 1);
break;
case 't':
setenv("GENRC_TIMEOUT", optarg, 1);
break;
@@ -401,12 +406,15 @@ main(int argc, char **argv)
case OPT_SIGNAL_RELOAD:
setenv("GENRC_SIGNAL_RELOAD", optarg, 1);
break;
case OPT_SIGNAL_STOP:
setenv("GENRC_SIGNAL_STOP", optarg, 1);
break;
+ case 'u':
+ setenv("GENRC_USER", optarg, 1);
+ break;
case 'v':
genrc_verbose++;
break;
default:
exit(1);
}

Return to:

Send suggestions and report system problems to the System administrator.