用两个进程实现一个读鼠标一个读键盘demo
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/types.h>
#include <fcntl.h>
int main(int argc, char const *argv[])
{
pid_t pid;
pid = fork();
if (pid < 0)
{
perror("fork error");
exit(1);
}
if (pid > 0)
{
int fd = open("/dev/input/mouse0", O_RDWR);
int cor;
while (1)
{
read(fd, &cor, sizeof(cor));
printf("cor = %d\n", cor);
}
}
else if (pid == 0)
{
char buffer[1024];
while (1)
{
memset(buffer, 0, sizeof(buffer));
int n_r = read(0, buffer, sizeof(buffer) - 1);
buffer[n_r] = '\0';
printf("buffer = %s\n", buffer);
}
}
return 0;
}
执行结果如下:
root@GodFather:/home/superlan/C_Language/process# ./a.out
cor = 9
cor = 8
hello
buffer = hello
cor = 10
cor = 8
cor = 8502584
cor = 8454184
cor = 130840
cor = 9
cor = 8
^C
root@GodFather:/home/superlan/C_Language/process#