[Linux][Process]循环fork()的小测试

这两天在课堂上学习了fork()相关的知识,但是只有执行一次的情况,所以我在网上找到了一个循环的情况,具体的代码因为修改博客的关系本来有截图但是没了,源代码也消失了。

总之是写了一个循环运行fork()的代码,最后输出了一个链表的结构。

这是输出结果。

以此可以推断出fork()在循环当中的输出方式是:

0 -> 0-0 -> 0-0-0 -> 0-0-0-0

0 -> 0-0 -> 0-0-0 -> 0-0-0-1

0 -> 0-0 -> 0-0-1 -> 0-0-1-0

0 -> 0-0 -> 0-0-1 -> 0-0-1-1

0 -> 0-1 -> 0-1-0 -> 0-1-0-0

0 -> 0-1 -> 0-1-0 -> 0-1-0-1

0 -> 0-1 -> 0-1-1 -> 0-1-1-0

0 -> 0-1 -> 0-1-1 -> 0-1-1-1

像是一个遍历的结构,这跟fork()之后创建的进程运行方式有关,创建新的进程之后,不再运行fork()之前的代码,但是在for循环之后会运行i++然后再运行fork()

 

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.