Linux进程调度中的小细节

发布时间 2023-11-01 00:18:06作者: yuan_f

1. 实现思路

先在父进程中创建一个子进程,fork()函数返回两次:返回小于0时,创建子进程失败,打印提示、结束程序;返回0时,表示在子进程中,打印提示、退出;返回大于0时,表示在父进程中,返回值为子进程的ID,继续创建第二个子进程,操作与创建第一个子进程相同。

2. 问题解决方法总结

很多人在实现进程调度时都会遇到一个问题,就是会意外将子进程创建成孙子进程,其实这其中只需要做一些细微调整。
如果将第二个进程的创建放在if...else语句外,就会导致创建成孙子进程。后面经过查询,改正代码,将其放在else if(id1 > 0)中,成功将问题解决。例如下图,创建了两个子进程。