歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux 信號異步通知

Linux 信號異步通知

日期:2017/3/1 9:48:47   编辑:Linux編程

Linux 信號異步通知:

#include <signal.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#define MAX_LEN 100


void input_handler(int num)
{
char data[MAX_LEN];
memset(data, '\0', sizeof(data));
int len;

len = read(STDIN_FILENO, &data, MAX_LEN);
printf("input available:%s\n", data);
}


int main()
{
int oflags;
//0 注冊信號處理函數
signal(SIGIO, input_handler);

//1 從設備驅動發出的信號被本進程接收
fcntl(STDIN_FILENO, F_SETOWN, getpid());

//2 設為異步通知模式
oflags = fcntl(STDIN_FILENO, F_GETFL);
fcntl(STDIN_FILENO, F_SETFL, oflags | FASYNC);

for (;;) ;
}

Copyright © Linux教程網 All Rights Reserved