我正在参加操作系统课程。 我目前正在研究过程管理这一章。
我们说我这样编写代码:
scanf()
此代码基本上创建了一个与父进程重复的子进程。除了PID之外,进程之间的一切都是相同的。什么是父流程?是执行中的C程序(运行a.out文件)吗?
答案 0 :(得分:0)
父进程是生成其他进程子进程的进程。在example.c的main()中,您使用fork():生成相同的进程。在你的混淆的上下文中相同的是,两者都执行来自example.c的指令,除非发生一个特定的事件,它将子进程从example.c中分离出来。在子进程代码(pid< 0)的一部分中,您可以使用exec系列函数从example.c中分离子进程。
因此父和子都使用相同的程序来执行它们,并通过fork的返回值进行隔离。 fork之前和之后的区别在于,现在您已将父代码和子代码放在其特定位置