我在做操作系統課程,我們應該學習如何使用管道在進程之間傳輸數據。在Linux中使用管道C使用管道
我們給了這段簡單的代碼,演示瞭如何使用管道,但我很難理解它。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
main()
{
int pipefd [2], n;
char buff[100] ;
if(pipe(pipefd) < 0)
{
printf("can not create pipe \n");
}
printf("read fd = %d, write fd = %d \n", pipefd[0], pipefd[1]);
if (write (pipefd[1],"hello world\n", 12)!= 12)
{
printf("pipe write error \n");
}
if( (n = read (pipefd[0] , buff, sizeof (buff) )) <= 0)
{
printf("pipe read error \n");
}
write (1, buff, n) ;
exit (0);
}
是什麼寫入功能嗎?它似乎發送數據到管道,並將其打印到屏幕上(至少看起來像第二次寫入功能被稱爲它)。
有沒有人有任何關於這方面的知識,FIFO,信號,在C中使用的其他基本的Linux命令學習的好網站的建議?