usage(void)
{
printf("usage: frm_aqcpu [ options ]\n");
+ printf(" -d, --daemon [pid-file] go to background after FORB initialization\n");
printf(" -l, --loglevel <number>|<domain>=<number>,...\n");
}
int ret;
forb_init_attr_t attr = { .orb_id = "org.frescor.frm.aqcpu" };
int opt;
+ bool opt_daemon = false;
+ char *opt_pidfile = NULL;
ul_logreg_domain(&ulogd_frm_aqcpu);
- while ((opt = getopt_long(argc, argv, "l:", &long_opts[0], NULL)) != EOF) {
+ while ((opt = getopt_long(argc, argv, "d::hl:", &long_opts[0], NULL)) != EOF) {
switch (opt) {
+ case 'd':
+ opt_daemon = true;
+ opt_pidfile = optarg;
+ break;
case 'l':
ul_log_domain_arg2levels(optarg);
break;
}
}
+ if (opt_daemon)
+ forb_daemon_prepare(opt_pidfile);
+
orb = forb_init(&argc, &argv, &attr);
if (!orb) error(1, errno, "forb_init");