#include #include #include int main() { int stat; int sig; sigset_t set; sigemptyset(&set); printf("add signal SIGINT: %i\n", sigaddset(&set, SIGINT)); printf("add signal SIGKILL: %i\n", sigaddset(&set, SIGKILL)); printf("add signal SIGTERM: %i\n", sigaddset(&set, SIGTERM)); sigprocmask(SIG_BLOCK, &set, NULL); printf("Waiting...\n"); stat = sigwait(&set, &sig); printf("Wait complete: %i (%i)\n", sig, stat); printf("`sh /opt/stop.sh`: %i\n", system("sh /opt/stop.sh")); return 0; }