操作系统:利用fork()进行虚拟机环境下的多进程编程

简介: 操作系统:利用fork()进行虚拟机环境下的多进程编程
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>   
int main(int argc, char *argv[]){
  pid_t pid;
        pid = fork();
  while(1){
        if (pid == -1) {
              perror("fork error");
              exit(1);
          } 
  else if (pid == 0) {
              printf("child process processID %d pid value %d\n",getpid(),pid);
    sleep(1);
          } 
  else {
              printf("father process processID %d pid value %d\n",getpid(),pid);
    sleep(1);
          }
  }
        return 0;
    }

程序功能:创建进程,并反复输出当前进程ID与对应创建的子进程ID。如果当前进程没有子进程,则子进程ID为0.

运行结果(程序输出):如图所示。父进程ID为2787,创建了子进程ID为2788。子进程2788没有创建新的子进程

运行结果(进程树):该段程序命名为a.out。打开多个新的控制台窗口分别运行该程序,并创建一个新的控制台窗口输出进程树,可以看到进程树的一部分:2770创建了2772子进程,2774创建了2776子进程等。


目录
相关文章
|
21天前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
31 0
|
1月前
|
Go
高效Go语言编程:os包实用技术大揭示
高效Go语言编程:os包实用技术大揭示
22 0
|
1月前
|
存储 算法 Linux
【Linux系统编程】进程状态
【Linux系统编程】进程状态
|
1天前
|
安全 Python
Python多进程编程中的资源共享与同步问题探讨
Python多进程编程中的资源共享与同步问题探讨
|
1天前
|
Java Python
使用Python的concurrent.futures模块简化多线程与多进程编程
使用Python的concurrent.futures模块简化多线程与多进程编程
|
1天前
|
并行计算 程序员 API
Python多进程编程:利用multiprocessing模块实现并行计算
Python多进程编程:利用multiprocessing模块实现并行计算
|
5天前
|
存储 Unix 编译器
DP读书:《openEuler操作系统》(五)进程与线程
DP读书:《openEuler操作系统》(五)进程与线程
47 0
|
5天前
|
IDE Linux 开发工具
DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件
DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件
37 1
|
16天前
|
NoSQL Unix Linux
Linux下的系统编程——守护进程、线程(十二)
Linux下的系统编程——守护进程、线程(十二)
11 0
Linux下的系统编程——守护进程、线程(十二)
|
16天前
|
消息中间件 Linux
Linux下的系统编程——进程间的通信(九)
Linux下的系统编程——进程间的通信(九)
28 1
Linux下的系统编程——进程间的通信(九)

热门文章

最新文章