c - 这些 fork() 调用创建了多少个进程?
问题描述
我怎样才能看到已经创建了多少进程?我可以使用该getpid()
功能吗?
int main(int argc, char *argv[])
{
int pid1, pid2, pid3, pid4;
pid1 = fork();
if (pid1 != 0) {
pid2 = fork();
pid3 = fork();
}
else {
pid4 = fork();
}
return 0;
}
解决方案
fork()
对于 pid1:创建了一个子进程。
进程数 = 2
fork()
对于 pid2:创建了一个子进程。
进程数 = 3
fork()
对于 pid3:创建了两个子进程,一个由原始进程创建,一个由进程 pid2 创建。
进程数 = 5
fork()
对于 pid4:创建了一个子进程。
进程数 = 6
推荐阅读
- angular - 创建新的 Angular 项目时出错
- apache - Apache 2.4 (RedHat) - .well-known - 403 禁止
- android - 无法解析来自“Mono.Android”的“System.Void Android.Runtime.ResourceDesignerAttribute::.ctor(System.String)”引用
- python - 如何从熊猫数据框中提取列表或字典中的非 NA 值
- php - PHP FIle not found when i submit a form
- r - Transform tibble to data frame with column headers
- php - 将变量从一个 php 文件发送到另一个文件并在第三个文件中显示变量值
- javascript - AmCharts Serial Chart: Center-align label under the axis points
- random - 在 R 中使用混合 logit 模型进行预测
- javascript - 在 redux 操作中控制异步批处理请求