저는 운영체제에서 과정을 진행하고 있습니다. 우리는 파이프를 사용하여 프로세스간에 데이터를 전송하는 방법을 배우기로되어 있습니다.리눅스에서 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);
}
쓰기 기능은 무엇을 수행합니까? 그것은 파이프에 데이터를 보내고 또한 화면에 인쇄하는 것으로 보인다. (최소한 write 함수가 호출하는 것처럼 보인다.)
누구나 FIFO, FIFO, C와 같은 기본 Linux 명령과 같은 주제에 대해 배우기에 좋은 웹 사이트에 대한 제안 사항이 있습니까?