C语言:用管道实现Linux进程间通信,父写子读示例
以下是一个使用管道在Linux进程间通信的C语言程序示例: ```c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> int main() { int pipefd[2]; pid_t pid; char buf[1024]; if (pipe(pipefd) == -1) { perror("pipe"); exit(EXIT_FAILURE); } pid = fork(); if (pid == -1) { perror("fork"); exit(EXIT_FAILURE); } if (pid == 0) { // 子进程 close(pipefd[1]); // 关闭写端 read(pipefd[0], buf, sizeof(buf)); printf("子进程接收到的数据: %s ", buf); close(pipefd[0]); exit(EXIT_SUCCESS); } else { // 父进程 close(pipefd[0]); // 关闭读端 write(pipefd[1], "Hello, 子进程!", 16); close(pipefd[1]); wait(NULL); // 等待子进程结束 exit(EXIT_SUCCESS); } } ``` 这个程序首先创建一个管道,然后创建一个子进程。父进程向管道写入数据,子进程从管道中读取数据并打印出来。 ######[AI写代码神器 | 372点数解答 | 2024-05-30 10:32:36]
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)53
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)369
- C++开发详解:管道机制、创建与使用示例及注意事项(阿里通义 | 455点数解答 | 2023-11-09 00:43:25)158
- Python 字典基本操作全解析:创建、查找与遍历示例( | 313点数解答 | 2024-05-06 09:52:01)389
- 贵州鑫盛科技:人才现状、困境与未来发展之路(字节豆包 | 851点数解答 | 2025-09-28 15:57:57)107
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)285
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)282
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)341
- Python 实现 Linux 实践考试文件操作任务及注意要点(字节豆包 | 457点数解答 | 2025-05-26 10:50:03)160
- 虚拟机 Linux 实操:创建目录文件、内容输入、文件移动及文本替换全流程指南(字节豆包 | 248点数解答 | 2025-05-26 10:50:39)179
- Python 实现 DES 加密算法编程实验:从原理到单步调试全解析(字节豆包 | 4096点数解答 | 2025-11-09 22:06:30)87
- C语言:实现不超五位整数各位数值求和与输入验证( | 363点数解答 | 2024-03-09 14:33:57)280