有名管道的讀寫有阻塞和非阻塞兩種,可以在open()時指定,下面我們對各種情況進行一些討論。
?
//寫進程
#include
#include
#include
#include
#include
#include
#define FIFO_NAME "/tmp/myfifo"
main()
{
int fd;
char w_buf[50];
int w_num;
// 若fifo已存在,則直接使用,否則創(chuàng)建它
if((mkfifo(FIFO_NAME,0777)<0)&&(errno!=EEXIST))
{
printf("cannot create fifo...
");
exit(1);
}
//以阻塞型只寫方式打開fifo
fd=open(FIFO_NAME,O_WRONLY);
w_num=write(fd,"abcdg