我的问题是在执行时,父堆栈会发生什么?
main()
{
f();
g();
}
f()
{
vfork();
}
g()
{
int blast[100],i;
for(i=0;i<100;i++)
blast[i]=i;
}发布于 2011-11-20 19:46:17
根据http://pubs.opengroup.org/onlinepubs/009695399/functions/vfork.html,该行为未定义
如果vfork()创建的进程...从调用vfork()的函数返回...
发布于 2011-11-20 19:57:30
在实践中,vfork不再非常有用。阅读它针对Linux的vfork man页面,上面说POSIX.1-2008去掉了vfork()规范。该行为实际上与fork几乎相同(除了父级被挂起之外)。因此,我敢打赌,实际上,vfork几乎就像今天的fork。但我在过去十年中读到的所有程序都使用fork,而不是vfork (因为懒惰的写时复制分页行为如今已经足够有效)。
https://stackoverflow.com/questions/8201243
复制相似问题