From be44259825f7ad5f878a9c57011699bd71937569 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Sat, 11 Nov 2017 00:22:09 +0100 Subject: [PATCH] tools: add "--daemonize/-d" This lets's users run daemonized application containers with our minimal init as pid 1 and the requested program as pid 2. Signed-off-by: Christian Brauner --- src/lxc/tools/lxc_execute.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lxc/tools/lxc_execute.c b/src/lxc/tools/lxc_execute.c index 8a34e1f45..2faeed948 100644 --- a/src/lxc/tools/lxc_execute.c +++ b/src/lxc/tools/lxc_execute.c @@ -49,6 +49,9 @@ static struct lxc_list defines; static int my_parser(struct lxc_arguments* args, int c, char* arg) { switch (c) { + case 'd': + args->daemonize = 1; + break; case 'f': args->rcfile = arg; break; @@ -67,6 +70,7 @@ static int my_parser(struct lxc_arguments* args, int c, char* arg) } static const struct option my_longopts[] = { + {"daemon", no_argument, 0, 'd'}, {"rcfile", required_argument, 0, 'f'}, {"define", required_argument, 0, 's'}, {"uid", required_argument, 0, 'u'}, @@ -90,6 +94,7 @@ Options :\n\ -g, --gid=GID Execute COMMAND with GID inside the container\n", .options = my_longopts, .parser = my_parser, + .daemonize = 0, }; static bool set_argv(struct lxc_conf *conf, struct lxc_arguments *args) @@ -180,7 +185,7 @@ int main(int argc, char *argv[]) if (my_args.gid) c->lxc_conf->init_gid = my_args.gid; - c->daemonize = false; + c->daemonize = my_args.daemonize == 1; bret = c->start(c, 1, my_args.argv); ret = c->error_num; lxc_container_put(c); -- 2.47.2