我正在使用 c 在 linux 操作系统中进行过程控制。fork() 函数真的让我很困惑。我所知道的:什么时候fork()
被调用
1)无论后面的代码fork()
,都被复制到子进程中。2)我们无法确定哪个(父母或孩子)将首先运行。我运行以下代码。
int main() {
printf("Hi");
fork();
return 0;
}
我的第一个问题是:为什么我得到两次 Hi?linux gcc 中 fork() 的工作中对此进行了解释,但我仍然希望有人更简单地解释一下。
我的第二个疑问:当我将输出重定向到 somefile.txt 时,即使我使用换行符(\n),输出也是:
你好
你好
请解释 ...
如果我错过了,请提供一些详细信息,以了解fork()