这段时间学习进程间通信,给大家分享一下,这些理解即可,实际中用到会写的更复杂。先把代码贴出来
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
int main(void)
{
char buf[128];
int a;
a = mkfifo("/test/6.28/f.fifo",0666);
printf("a=%d\n",a);
int fd=open("f.fifo",O_RDONLY);
read(fd,buf,sizeof(buf));
puts(buf);
close(fd);
unlink("/test/6.28/f.fifo");
return 0;
}
这是读操作,头文件是我在vim编辑中默认的,有多余的头文件,不过没有关系。 mkfifo()是创建管道文件的函数, unlink()会删除参数pathname 指定的文件. 如果该文件名为最后连接点, 但有其他进程打开了此文件, 则在所有关于此文件的文件描述词皆关闭后才会删除. 如果参数pathname 为一符号连接, 则此连接会被删除。
<