当前位置:   article > 正文

linux getpid()和getppid()函数功能以及使用方法

getppid

getpid():获取当前进程ID

​ pid_t getpid(void);

getppid 函数:获取当前进程的父进程 ID

​ pid_t getppid(void);

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int var = 100;      //全局变量

int main(void)
{
    pid_t pid;

    pid = fork(); // 创建一个子进程

    if (pid == -1) {
        perror("fork error");
        exit(1);

    } else if (pid > 0) {       // 父进程
        var = 288;              // 写操作,复制var
        printf("parent, var = %d\n", var);
        printf("I'am parent pid= %d, getppid = %d\n", getpid(), getppid());

    } else if (pid == 0) {
//        var = 200;            // 子进程写操作,复制var
        printf("I'am child pid= %d, ppid = %d\n", getpid(), getppid());
        printf("child, var = %d\n", var);       // 读操作,共享
    }

    printf("------------finish---------------\n");

    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

运行结果:在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/210280
推荐阅读
相关标签
  

闽ICP备14008679号