如何使用 fork() 创建这个进程树?
How to create this process tree using fork()?
首先,我想问您如何仅使用 fork() 函数创建下面列出的流程树。
|____1____
|___2__ |
|_4_ | |_3_
| | | | |
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
if (fork()) {
问题是我不知道下一步该做什么以及它是如何工作的。
if(fork()){
if(fork()){
if(fork()){
}
else{}
}
else{}
}
else{
if(fork()){}
else{}
}
好看吗?我一个人解决了...
让我们尝试使用更多的空格和一些占位符注释供您填写:
/* initial process */
if (fork()) {
/* process ? */
if (fork()) {
/* process ? */
if (fork()) {
/* process ? */
} else {
/* process ? */
}
} else {
/* process ? */
}
} else {
/* process ? */
if (fork()) {
/* process ? */
} else {
/* process ? */
}
}
首先,我想问您如何仅使用 fork() 函数创建下面列出的流程树。
|____1____
|___2__ |
|_4_ | |_3_
| | | | |
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
if (fork()) {
问题是我不知道下一步该做什么以及它是如何工作的。
if(fork()){
if(fork()){
if(fork()){
}
else{}
}
else{}
}
else{
if(fork()){}
else{}
}
好看吗?我一个人解决了...
让我们尝试使用更多的空格和一些占位符注释供您填写:
/* initial process */
if (fork()) {
/* process ? */
if (fork()) {
/* process ? */
if (fork()) {
/* process ? */
} else {
/* process ? */
}
} else {
/* process ? */
}
} else {
/* process ? */
if (fork()) {
/* process ? */
} else {
/* process ? */
}
}