linux多进程基础(1):进程创建--fork()函数

前部分文章已将linux多线程的定义以及使用方法讲解完毕,接下来我们一同学习linux多进程的基础知识.话不多说直接开始.

进程是系统进行资源分配的基本单位,我们平常在电脑上打开一个QQ,就可以称之为打开了一个进程.如果仔细观察一下,QQ这个软件是可以多次打开的,这意味着你可以在一台电脑上同时登录多个QQ,这就是我们经常讲的多进程.在linux系统下,我们使用fork()函数来创建多进程.

1.fork()函数

fork()函数的功能是根据父进程的地址空间、数据、堆、栈以及打开的文件描述符等信息复制一个相同的子进程,其定义如下:

pid_t fork(void);

fork()函数不需要我们传入参数,若执行成功,其返回值有两个:

1.对于父进程,fork()返回新创建子进程的进程ID(PID)。

2.对于子进程,fork()返回0。

若执行失败,函数返回一个错误码.

2.举例

先概述要写的代码的含义:通过fork()函数创建一个子进程,然后分别在父进程和子进程中输出相关信息,从而演示了如何识别和区分父进程和子进程。

#include <sys/types.h>
#include <unistd.h>
#include<iostream>
int main(void){
    pid_t pid=fork();
    if(pid>0){
            std::cout<<"我是父进程,我的ID是:"<<getpid()<<",我的父进程ID是:"<<getppid()<<std::endl;
    }
    else if(pid==0){
         std::cout<<"我是子进程,我的ID是:"<<getpid()<<",我的父进程ID是:"<<getppid()<<std::endl;
    }
}

运行程序,得到如下结果:

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值