int pid = fork();和pid_t pid;pid = fork(); 有什么区别
时间: 2024-06-18 21:03:35 浏览: 196
pid_t是一种数据类型,是专门用来存储进程号的变量类型。 int是C语言中一个常见的数据类型,用来表示整数。 在linux中,fork()函数返回的进程号类型是pid_t。 在使用fork()函数时,我们可以将返回的进程号存储在pid_t类型的变量中,也可以存储在int类型的变量中。 因此,int pid = fork();和pid_t pid; pid = fork(); 这两种方式都可以将fork()返回的进程号存储在pid变量中。 只是数据类型不同,对于存储的数据会有所不同,pid_t类型更加严格一些,它只能存储进程号,而int类型可以存储更大范围的整数值。
相关问题
在UNIX系统中运行下面程序,画出进程家族树。 int main() { int pid = fork(); pid = fork(); pid = fork(); }
该程序会产生8个进程。进程家族树如下所示:
```
A
/ | \
B C C
/| | | \
C D C D D
/|\ /| |\
D D D D D D D
```
其中,A为原始进程,B、C为A的两个子进程,B又分别产生了C和D,C又分别产生了D和C,D不再产生子进程。
在UNIX系统中运行下面程序,最多可以产生多少进程?画出进程家族树。 int main() { int pid = fork();//复制父进程 pid = fork(); pid = fork(); }
运行上述程序最多可以产生 8 个进程。进程家族树如下所示(数字表示进程ID):
```
1
/ | \
2 3 4
/ \
5 6
```
阅读全文