我是靠谱客的博主 雪白裙子,最近开发中收集的这篇文章主要介绍c/c++ pipe fork管道 子进程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include<bits/stdc++.h>
#include<unistd.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

#define MAXIMUM 1000
int main()
{
    int fd[2];
    pid_t pid;
    char line[MAXIMUM];
    if(pipe(fd) < 0){
        printf("Failure to create the pipe.n");
        exit(1);
    }
    if((pid == fork())< 0){
        printf("Failed to create the child process.n");
        close(fd[0]);
        close(fd[1]);
        exit(2);
    }
    if(pid > 0){
        close(fd[0]);
        write(fd[1], "How are you?n", 15);
        printf("Parent: Successfully!n");
        close(fd[1]);
        sleep(1);
    }
    else{
        close(fd[1]);
        read(fd[0], line, MAXIMUM);
        printf("Child: Read from the pipe:%s",line);
        close(fd[0]);
    }
    return 0;
}

/*
输出:
Parent: Successfully!
Child: Read from the pipe:How are you?
//代写接单qun:733065427
*/

fork系统调用用于创建一个新进程,称为子进程,它与进程(称为系统调用fork的进程)同时运行,此进程称为父进程。创建新的子进程后,两个进程将执行fork()系统调用之后的下一条指令。子进程使用相同的pc(程序计数器),相同的CPU寄存器,在父进程中使用的相同打开文件。

它不需要参数并返回一个整数值。下面是fork()返回的不同值。

负值:创建子进程失败。

:返回到新创建的子进程。

正值:返回父进程或调用者。该值包含新创建的子进程的进程ID

最后

以上就是雪白裙子为你收集整理的c/c++ pipe fork管道 子进程的全部内容,希望文章能够帮你解决c/c++ pipe fork管道 子进程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部