
	                	                 
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