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

[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| 欧美日韩国产一区二区的| 日本乱码一区二区三区在线观看| 激情影院在线观看福利| 亚洲美女高潮久久久久久久久| 欧美日韩精品视频专区| 日韩大片一区二区三区在线观看| 亚洲天堂日韩欧美在线一区| 91高清国产在线播放| 日韩欧美亚洲综合另类| 免费在线黄色生活大片| 国产亚洲欧美日韩各类| 国产在线精品不卡一区| 日本一区两区三区不卡视频| 欧美成人夫妻性生活视频| 婷婷国产综合一区二区三区| av网址在线免费观看| 91精品啪在线观看国产日本| 日本高清精品视频免费| 欧美日韩亚洲精品内裤| 亚洲一区二区偷拍精品| 久久麻豆精亚洲av品国产一区| 色噜噜人妻av中文字幕| 久久热这里只有视频精品| 日本精品国产一区二区在线 | 麻豆人妻性色av专区| 91午夜福利国产精品| 成人激情视频在线网页| 激情小说婷婷亚洲综合| 欧美人妻不卡一区二区久久| 18禁免费无遮挡免费视频| 国产美女主播视频一区二区三区| 亚洲国产丁香综合激情啪| 亚洲成av在线免费不卡| 日本中文字幕免费一区| av国产剧情在线观看| 精品久久久久久久久999|