主頁 > 知識庫 > linux C語言開發(fā)管道通信實(shí)例詳解

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

熱門標(biāo)簽:益陽400電話申請辦理流程 怎么用百度地圖標(biāo)注坐標(biāo) 地圖標(biāo)注人員分布 江西全自動(dòng)外呼系統(tǒng)報(bào)價(jià) 400的電話一般從哪里辦理 梧州防封電銷卡 春運(yùn)地圖標(biāo)注app 上海機(jī)器人外呼系統(tǒng)哪家好 昆明電銷機(jī)器人價(jià)格

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,過一會兒你就可以看到下面的打印了。

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

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

您可能感興趣的文章:
  • linux下c語言的多線程編程
  • Linux 下C語言獲取文件大小
  • Linux下C語言的幾道經(jīng)典面試題小結(jié)(分享)
  • Linux 中C語言getcwd()函數(shù)的用法
  • Linux 下C語言連接mysql實(shí)例詳解
  • linux下C語言實(shí)現(xiàn)寫日志功能

標(biāo)簽:河南 九江 北京 贛州 亳州 惠州 新疆 懷化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux C語言開發(fā)管道通信實(shí)例詳解》,本文關(guān)鍵詞  linux,語言,開發(fā),管道,通信,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux C語言開發(fā)管道通信實(shí)例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于linux C語言開發(fā)管道通信實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章