#include <iostream>
#include <string>
using namespace std;
typedef uint32_t u32;
typedef uint8_t u8;
typedef uint16_t u16;
#include <signal.h>
int deamon_run = 1;
/*进程关闭信号处理*/
static void sig_handler(const int sig)
{
int ret;
if (sig != SIGTERM && sig != SIGQUIT && sig != SIGINT)
return;
if (deamon_run != 0)
deamon_run = 0;
printf("signal(%d) received, try to exit deamon gracefully ..\n", sig);
}
int main()
{
/*进程退出信号监视*/
if (signal(SIGTERM, sig_handler) == SIG_ERR)
cout<<"can not catch SIGTERM"<<endl;
if (signal(SIGQUIT, sig_handler) == SIG_ERR)
cout<<"can not catch SIGQUIT"<<endl;
if (signal(SIGINT, sig_handler) == SIG_ERR)
cout<<"can not catch SIGINT"<<endl;
// while (deamon_run){
// }
return 0;
}