Allow starting sessiond like --daemonize, but keeps console open.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Conflicts:
src/bin/lttng-sessiond/main.c
.BR "-d, --daemonize"
Start as a daemon
.TP
.BR "-d, --daemonize"
Start as a daemon
.TP
+.BR "-b, --background"
+Start as a daemon, keeping console open
+.TP
.BR "-g, --group=NAME"
Specify the tracing group name. (default: tracing)
.TP
.BR "-g, --group=NAME"
Specify the tracing group name. (default: tracing)
.TP
static const char *opt_pidfile;
static int opt_sig_parent;
static int opt_verbose_consumer;
static const char *opt_pidfile;
static int opt_sig_parent;
static int opt_verbose_consumer;
+static int opt_daemon, opt_background;
static int opt_no_kernel;
static int is_root; /* Set to 1 if the daemon is running as root */
static pid_t ppid; /* Parent PID for --sig-parent option */
static int opt_no_kernel;
static int is_root; /* Set to 1 if the daemon is running as root */
static pid_t ppid; /* Parent PID for --sig-parent option */
* Notify the parent of the fork() process that we are
* ready.
*/
* Notify the parent of the fork() process that we are
* ready.
*/
+ if (opt_daemon || opt_background) {
kill(child_ppid, SIGUSR1);
}
}
kill(child_ppid, SIGUSR1);
}
}
fprintf(stderr, " --consumerd64-path PATH Specify path for the 64-bit UST consumer daemon binary\n");
fprintf(stderr, " --consumerd64-libdir PATH Specify path for the 64-bit UST consumer daemon libraries\n");
fprintf(stderr, " -d, --daemonize Start as a daemon.\n");
fprintf(stderr, " --consumerd64-path PATH Specify path for the 64-bit UST consumer daemon binary\n");
fprintf(stderr, " --consumerd64-libdir PATH Specify path for the 64-bit UST consumer daemon libraries\n");
fprintf(stderr, " -d, --daemonize Start as a daemon.\n");
+ fprintf(stderr, " -b, --background Start as a daemon, keeping console open.\n");
fprintf(stderr, " -g, --group NAME Specify the tracing group name. (default: tracing)\n");
fprintf(stderr, " -V, --version Show version number.\n");
fprintf(stderr, " -S, --sig-parent Send SIGUSR1 to parent pid to notify readiness.\n");
fprintf(stderr, " -g, --group NAME Specify the tracing group name. (default: tracing)\n");
fprintf(stderr, " -V, --version Show version number.\n");
fprintf(stderr, " -S, --sig-parent Send SIGUSR1 to parent pid to notify readiness.\n");
+ if (opt_daemon || opt_background) {
- ret = lttng_daemonize(&child_ppid, &recv_child_signal, 1);
+ ret = lttng_daemonize(&child_ppid, &recv_child_signal,
+ !opt_background);
if (ret < 0) {
goto error;
}
if (ret < 0) {
goto error;
}