int pid = fork();和pid_t pid;pid = fork(); 有什么区别
时间: 2024-06-18 18:03:35 浏览: 17
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个进程。进程家族树如下所示:
```
A
/ \
B B
/ \
C C
/ \ / \
D D D D
```
其中,A为原始进程,B为A的两个子进程,C为B的两个子进程,D为C的两个子进程。总共有8个进程。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)