(fd,F_GETFL);
fcntl(fd,F_SETFL,oflags|FASYNC);
...
}
...
signal_handler 是通知要运行的函数;
signal(SIGIO,signal_handler...); 是注册信号对应的函数
fcntl(fd,F_SETOWN,getpid()); 这句是设置异步通知要通知给谁
oflags = fcntl(fd,F_GETFL);
fcntl(fd,...原因如下:如果使能放在前面,异步通知发生在使能之后,注册信号函数之前的话。由于找不到注册函数,系统会执行默认处理函数。就是会将进程终止。这样就发生故障,与预期不符。...,oflags|FASYNC);
test_handler是通知要运行的函数;
sigaction(SIGRTMIN, &test, NULL); 是注册信号对应的函数
fcntl(fd,F_SETOWN...进程向进程发送
这个比较简单,使用kill函数就可以。