c++ - 这个程序产生的同时存在的进程的最大数量是多少,包括原来的进程?
问题描述
我如何确定以下程序的这一点?
if (fork()){
if(!fork()){
if(fork()){
fork();
}
}
}
exit(0);
解决方案
五。原始过程,每个 fork 调用加一个。添加 sleep 语句并打印调用以进行验证。
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
printf("Process Starting\n");
if (fork()){
if(!fork()) {
if(fork()){
fork();
}
}
}
printf("Process Exiting\n");
sleep(2); // sleep 2 seconds
return 0;
}
我断言您会看到打印了 5 个“进程退出”语句。
推荐阅读
- python - 如何生成随机二值图像?
- c - 使用 LDFLAGS 链接特定库版本
- python - 将文本文件转换为word文档并使用python格式化
- java - 每当我想删除 RecyclerView 项目时出现 IndexOutOfBoundsException
- javascript - 简单的 JavaScript 按钮单击事件不会触发
- python-3.x - 在 centos 7 中使用 python 编译 Vim
- curl - 即使返回“连接被拒绝”也不会中断 curl
- css - max-height with flex: 1 and overflow
- python - 如何使用 Python 在游戏中移动目标
- python - 如何将多个 DataFrame 写入 MySQL 数据库?