欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

[Linux管道和IPC]管道的實(shí)際應(yīng)用2

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <limits.h>
#include <string.h>
#include <sys/wait.h>
#include <error.h>

#define DEF_PAGER "/bin/more"   //定義處理函數(shù)
#define MAXLINE  4096   //行最大字符數(shù)

int main(int argc, char *argv[])
{
  int     n;
  int     fd[2];
  pid_t   pid;
  char    *pager, *argv0;
  char    line[MAXLINE];
  FILE    *fp;
  if (argc != 2)  //如果參數(shù)不正確
  {
    printf("請(qǐng)輸入正確的命令:<pathname>\n");
    exit(1);
  }
  if ((fp = fopen(argv[1], "r")) == NULL)  //如果以只讀打開(kāi)argv[1]指向的文件出錯(cuò)
  {
    printf("不能打開(kāi)文件%s", argv[1]);
    exit(1);
  }
  if (pipe(fd) < 0)  //創(chuàng)建管道失敗
  {
    printf("創(chuàng)建管道失敗\n");
    exit(0);
  }
  if ((pid = fork()) < 0)  //創(chuàng)建子進(jìn)程失敗
  {
    printf("創(chuàng)建子進(jìn)程失敗\n");
    exit(0);
  }
  else if (pid > 0)
  {                               //父進(jìn)程
    close(fd[0]);           //關(guān)閉讀文件描述符
    //將argv[1]通過(guò)管道發(fā)送
    while (fgets(line, MAXLINE, fp) != NULL)
    {
      n = strlen(line);
      if (write(fd[1], line, n) != n)
      {
        printf("寫(xiě)管道失敗\n");
        exit(1);
      }
    }
    if (ferror(fp))  //如果文件描述符出錯(cuò)
    {
        printf("fgets 失敗\n");
        exit(1);
    }
    close(fd[1]);   //
    if (waitpid(pid, NULL, 0) < 0)
    {
        printf("waitpid失敗\n");
        exit(1);
    }
    exit(0);
  }
  else  //子進(jìn)程
  {
    close(fd[1]);
    if (fd[0] != STDIN_FILENO)
    {
      if (dup2(fd[0], STDIN_FILENO) != STDIN_FILENO)
      {
        printf("dup2到標(biāo)準(zhǔn)輸入失敗\n");
        exit(1);
      }
      close(fd[0]);   /* don't need this after dup2 */
    }
    //exec函數(shù)的參數(shù)
    if ((pager = getenv("PAGER")) == NULL)
    {
      pager = DEF_PAGER;
    }
    if ((argv0 = strrchr(pager, '/')) != NULL)
    {
      argv0++;
    }
    else
    {
      argv0 = pager;
    }
    if (execl(pager, argv0, (char *)0) < 0)
    {
      printf("調(diào)用execl失敗%s", pager);
      exit(1);
    }
  }
  exit(0);
}

網(wǎng)頁(yè)題目:[Linux管道和IPC]管道的實(shí)際應(yīng)用2
網(wǎng)站路徑:http://aaarwkj.com/article12/gdisdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、App設(shè)計(jì)、網(wǎng)站策劃、微信小程序、網(wǎng)站改版、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
久久精品国产亚洲av麻豆尤物| 四虎久久久最新网址| 日日夜夜添添精品视频| 说中文字幕的黄色大网站| 亚洲天堂av在线观看| 国产亚洲精品国产福利久久| 日本师生三片在线观看| 日本91免费在线观看| 亚洲乱码中文字幕久久| 激情亚洲综合一区二区| 国产91高清免费视频| 97成人在线视频免费播放| 成年人免费在线观看毛片| 亚洲激情一区在线观看| 日韩亚洲av一区二区| av色剧情在线免费观看| 日韩在线一区二区视频| 欧美国产综合欧美一区二区三区| 青青草原这里只有精品| 久久成人影院免费观看| 三级av电影中文字幕| 国产精品久久中文字幕网| 日韩成人激情在线观看| 久久综合久久狠狠激情| 成年女人大片免费观看版| 中文字幕日韩欧美一区| 亚洲国产精品一区二区成人| 中文字幕国产成人在线视频| 日韩成人高清免费在线| 国产精品18禁一区二区三区| 国内精品免费视频不卡| 国产成人一区二区三区综合区| 一区二区三区高清av在线| 欧美日韩台湾一区二区| 日韩免费在线观看av| 国内熟妇人妻色在线三级| 蜜桃人妻av一区二区三区| 又爽又色的日本网站| 国产精品久久久99| 国产丝袜美腿诱惑久久| 国语对白刺激真实精品|