赞
踩
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; }
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。