/* pipe1.c */
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define BUFSIZE 30
int main(int argc, char **argv)
{
int fd[2]; // 파이프 리턴값 저장할 배열 선언.
char buffer[BUFSIZE];
pid_t pid;
int state;
state = pipe(fd); // 파이프 생성
if(state == -1) {
puts("pipe() error");
exit(1);
}
pid = fork(); // 프로세스 복사
if(pid == -1){ // 프로세스 복사가 안된다면
puts("fork() error");
exit(1);
}
else if(pid==0){ // 자식프로세스 라면
write(fd[1], "Good\n", 6);
}
else{ // 부모 프로세스 라면
read(fd[0], buffer, BUFSIZE);
puts(buffer);
}
return 0;
}
'[+] Information > [-] Network' 카테고리의 다른 글
[2009/07/03] 프로세스간 통신2 예제소스(pipe2.c, pipe3.c) (0) | 2009.07.03 |
---|---|
[2009/07/03] 프로세스간 통신2 (0) | 2009.07.03 |
[2009/06/28] 프로세스간 통신 (0) | 2009.06.28 |
[2009/06/27] 예제소스(echo_multiserv.c, echo_multiclnt.c) (0) | 2009.06.27 |