+ struct sigaction act;
+
+ ARGBEGIN {
+ case 'd':
+ dflag = 1;
+ break;
+ case 'o':
+ oflag = 1;
+ break;
+ default:
+ usage();
+ } ARGEND
+
+ if (dflag && oflag)
+ usage();
+ if (dflag)
+ (void)daemon(1, 1);
+
+ memset(&act, 0, sizeof(act));
+ act.sa_handler = sighandler;
+ sigaction(SIGINT, &act, 0);
+ sigaction(SIGTERM, &act, 0);