Linux进程通信之文件
生活随笔
收集整理的這篇文章主要介紹了
Linux进程通信之文件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
父子進(jìn)程共享打開的文件描述符------使用文件完成進(jìn)程間通信.
/*** fork_share_fd.c***/ #include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include <fcntl.h> #include <sys/wait.h>int main(void) {int fd1, fd2; pid_t pid;char buf[1024];char *str = "---------test for shared fd in parent child process-----\n";pid = fork();if (pid < 0) {perror("fork error");exit(1);} else if (pid == 0) {fd1 = open("test.txt", O_RDWR);if (fd1 < 0) {perror("open error");exit(1);}write(fd1, str, strlen(str));printf("child wrote over...\n");} else {fd2 = open("test.txt", O_RDWR);if (fd2 < 0) {perror("open error");exit(1);}sleep(1); //保證子進(jìn)程寫入數(shù)據(jù)int len = read(fd2, buf, sizeof(buf));write(STDOUT_FILENO, buf, len);wait(NULL);}return 0; }運(yùn)行結(jié)果:
ubuntu1604@ubuntu:~/wangqinghe/linux/20190806$ ./fork_share_fd
child wrote over...
---------test for shared fd in parent child process-----
轉(zhuǎn)載于:https://www.cnblogs.com/wanghao-boke/p/11311730.html
總結(jié)
以上是生活随笔為你收集整理的Linux进程通信之文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux进程通信之管道
- 下一篇: dup2函数