日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux pipe2函数,pipe()函数 Unix/Linux

發布時間:2023/12/18 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux pipe2函数,pipe()函数 Unix/Linux 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pipe - 創建管道

內容簡介

#include

int pipe(intfiledes[2]);

描述

pipe() creates a pair of file descriptors, yiibaiing to a pipe inode, and places them in the array yiibaied to byfiledes.filedes[0]is for reading,filedes[1]is for writing.

返回值

On success, zero is returned. On error, -1 is returned, anderrnois set appropriately.

錯誤

標簽

描述

EFAULT

filedes?is not valid.

EMFILE

Too many file descriptors are in use by the process.

ENFILE

The system limit on the total number of open files has been reached.

遵循于

POSIX.1-2001.

實例

The following program creates a pipe, and thenfork(2)s to create a child process. After thefork(2), each process closes the descriptors that it doesn’t need for the pipe (seepipe(7)). The parent then writes the string contained in the program’s command-line argument to the pipe, and the child reads this string a byte at a time from the pipe and echoes it on standard output.

#include

#include

#include

#include

#include

#include

int

main(int argc, char *argv[])

{

int pfd[2];

pid_t cpid;

char buf;

assert(argc == 2);

if (pipe(pfd) == -1) { perror("pipe"); exit(EXIT_FAILURE); }

cpid = fork();

if (cpid == -1) { perror("fork"); exit(EXIT_FAILURE); }

if (cpid == 0) { /* Child reads from pipe */

close(pfd[1]); /* Close unused write end */

while (read(pfd[0], &buf, 1) > 0)

write(STDOUT_FILENO, &buf, 1);

write(STDOUT_FILENO, "

", 1);

close(pfd[0]);

_exit(EXIT_SUCCESS);

} else { /* Parent writes argv[1] to pipe */

close(pfd[0]); /* Close unused read end */

write(pfd[1], argv[1], strlen(argv[1]));

close(pfd[1]); /* Reader will see EOF */

wait(NULL); /* Wait for child */

exit(EXIT_SUCCESS);

}

}

另請參閱

¥ 我要打賞

糾錯/補充

收藏

加QQ群啦,易百教程官方技術學習群

注意:建議每個人選自己的技術方向加群,同一個QQ最多限加 3 個群。

總結

以上是生活随笔為你收集整理的linux pipe2函数,pipe()函数 Unix/Linux的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。