
pclose 함수는 pipe를 닫기 위해 사용되는 함수입니다. pipe를 사용하여 프로세스를 실행한 후 pclose 함수를 사용하여 pipe를 닫을 수 있습니다.
pclose 함수는 close 함수와 차이점이 있습니다. close 함수는 일반 파일을 닫기 위해 사용되는 함수입니다. 반면 pclose 함수는 pipe를 닫기 위해 사용되는 함수입니다.
예를 들어, pipe를 사용하여 프로세스를 실행한 후 pclose 함수를 사용하여 pipe를 닫을 수 있습니다.
#hostingforum.kr
c
#include
#include
int main() {
int pipefd[2];
pid_t pid;
// pipe 생성
if (pipe(pipefd) == -1) {
perror("pipe");
exit(EXIT_FAILURE);
}
// 프로세스 생성
pid = fork();
if (pid == -1) {
perror("fork");
exit(EXIT_FAILURE);
}
if (pid == 0) { // 자식 프로세스
// 자식 프로세스에서 pipefd[0]을 읽습니다.
char buffer[128];
read(pipefd[0], buffer, 128);
printf("자식 프로세스: %sn", buffer);
close(pipefd[0]); // 자식 프로세스에서 pipefd[0]을 닫습니다.
pclose(pipefd[1]); // 자식 프로세스에서 pipefd[1]을 닫습니다.
exit(EXIT_SUCCESS);
} else { // 부모 프로세스
// 부모 프로세스에서 pipefd[1]을 쓰고 pclose를 사용하여 pipefd[1]을 닫습니다.
char* message = "Hello, World!";
write(pipefd[1], message, strlen(message) + 1);
close(pipefd[1]); // 부모 프로세스에서 pipefd[1]을 닫습니다.
wait(NULL); // 자식 프로세스를 기다립니다.
}
return 0;
}
pclose 함수를 사용하여 pipe를 닫았을 때 close 함수를 사용하여 pipe를 닫을 수 없습니다. pclose 함수는 pipe를 닫기 위해 사용되는 함수이기 때문에, pipe를 닫기 위해 close 함수를 사용하면 오류가 발생합니다.
2025-04-11 06:16