From e6603a9804fe53e72fb6cecd544b5a7c51dac48d Mon Sep 17 00:00:00 2001 From: foxliver Date: Thu, 25 Sep 2025 15:35:07 +0900 Subject: [PATCH] IPC Pipe sample code --- ipcPipe.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ipcPipe.c diff --git a/ipcPipe.c b/ipcPipe.c new file mode 100644 index 0000000..7eb90b9 --- /dev/null +++ b/ipcPipe.c @@ -0,0 +1,36 @@ +#include +#include +#include +#include + +#define BUFFER_SIZE 25 +#define READ_END 0 +#define WRITE_END 1 + +int main(){ + char write_msg[BUFFER_SIZE] = "Foxliver"; + char read_msg[BUFFER_SIZE]; + int fd[2]; + pid_t pid; + + pipe(fd); + pid = fork(); + + if(pid > 0){ + close(fd[READ_END]); + write(fd[WRITE_END], write_msg, strlen(write_msg) + 1); + close(fd[WRITE_END]); + printf("Parent process\n"); + }else if(pid == 0){ + close(fd[WRITE_END]); + + printf("Child process\n"); + + // pipe message read + read(fd[READ_END], read_msg, BUFFER_SIZE); + printf("Read : %s\n", read_msg); + close(fd[READ_END]); + } + + return 0; +} \ No newline at end of file