+ struct sigaction act;
+
+ ARGBEGIN {
+ case 'd':
+ dflag = 1;
+ break;
+ case 'o':
+ oflag = 1;
+ break;
+ case 'v':
+ printf("%s version %s (c) 2016 slstatus engineers\n", argv0, VERSION);
+ return 0;
+ 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);