欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux C語言開發(fā)管道通信實(shí)例詳解

 更新時(shí)間:2017年01月18日 17:25:10   投稿:lqh  
這篇文章主要介紹了linux C語言開發(fā)管道通信實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

linux C語言開發(fā)管道通信

   Linux系統(tǒng)本身為進(jìn)程間通信提供了很多的方式,比如說管道、共享內(nèi)存、socket通信等。管道的使用十分簡單,在創(chuàng)建了匿名管道之后,我們只需要從一個(gè)管道發(fā)送數(shù)據(jù),再從另外一個(gè)管道接受數(shù)據(jù)即可。

#include <stdio.h> 
#include <unistd.h> 
#include <stdlib.h> 
#include <string.h> 
 
int pipe_default[2]; 
 
int main() 
{ 
 pid_t pid; 
 char buffer[32]; 
 
 memset(buffer, 0, 32); 
 if(pipe(pipe_default) < 0) 
 { 
  printf("Failed to create pipe!\n"); 
  return 0; 
 } 
 
 if(0 == (pid = fork())) 
 { 
  close(pipe_default[1]); 
  sleep(5); 
  if(read(pipe_default[0], buffer, 32) > 0) 
  { 
   printf("Receive data from server, %s!\n", buffer); 
  } 
  close(pipe_default[0]); 
 } 
 else 
 { 
  close(pipe_default[0]); 
  if(-1 != write(pipe_default[1], "hello", strlen("hello"))) 
  { 
   printf("Send data to client, hello!\n"); 
  } 
  close(pipe_default[1]); 
  waitpid(pid, NULL, 0); 
 } 
 
 return 1; 
} 

    下面我們就可以開始編譯運(yùn)行了,老規(guī)矩分成兩步驟進(jìn)行:(1)輸入gcc pipe.c -o pipe;(2)然后輸入./pipe,過一會(huì)兒你就可以看到下面的打印了。

[test@localhost pipe]$ ./pipe 
Send data to client, hello! 
Receive data from server, hello! 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論