⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3.c

📁 简单的进程间通信
💻 C
字号:
#include <unistd.h>#include <sys/types.h>#include <errno.h>#include <stdio.h>#include <stdlib.h>int main(){	int pipe_fd[2];	pid_t pid;	char buf_r[100];	char * p_wbuf;	int r_num;	memset(buf_r, 0, sizeof(buf_r));	/*create pipe*/	if(pipe(pipe_fd)<0)	{		printf("pipe create error!\n");		return -1;	}	/*new son*/	if((pid=fork())==0)	{		printf("\n");		//close son's pipe's write function		close(pipe_fd[1]);		sleep(2);/*use sleep to wait and make sure the father's pipe's read function is closed */		if((r_num=read(pipe_fd[0],buf_r,100))>0)		{			printf("Receive message from father: %s\n", buf_r);		}	close(pipe_fd[0]);	exit(0);	}	else if(pid>0)	{		/*close father's pipe's read function*/		close(pipe_fd[0]);		if(write(pipe_fd[1],"Hello, son!",11)<0)		{			printf("Father write message error!\n");		}else			printf("Father sended out a message! The message is: Hello, son!\n");		close(pipe_fd[1]);		sleep(3);		waitpid(pid,NULL,0);		exit(0);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -