#include #include #include #include #include #include #include #include #include #include #include #include #include "async_scanner.h" #define BUF_LEN_FOR_PID 64 static async_scanner *scanner = nullptr; static void sigHandler(int sig) { // if (sig == SIGINT || sig == SIGTERM) // remove(MY_PID_FILE); printf("exit now for signal: %d\n", sig); if(scanner) { scanner->stop(); scanner->release(); } _exit(0); } int main() { /* Ctrl + C */ if (signal(SIGINT, sigHandler) == SIG_ERR) { exit(-1); } /* kill pid / killall name */ if (signal(SIGTERM, sigHandler) == SIG_ERR) { exit(-1); } scanner = new async_scanner(); int err = scanner->last_error(); if(err == 0) { while(1) { if(getchar() == 'e') { if(getchar() == 'x') { if(getchar() == 'i') { if(getchar() == 't') break; } } } } } async_scanner* tmp = scanner; scanner = nullptr; tmp->stop(); tmp->release(); return 0; }