fork() 跟 vfork() 的差別

 

POSIX.1-2008 的文件指出,不要使用 vfork(),為什麼呢?

man page 的說明 – vfork(2)

image

相關參考資料:

http://en.wikipedia.org/wiki/Fork_(system_call),維基百科解釋的頗為中肯

http://www.netbsd.org/docs/kernel/vfork.html,BSD的解釋相當有趣

http://qustion1234.blogspot.tw/2009/12/fork-vfork-cow-procees-address-space.html,感覺上 fork() 講的比較清楚,vfork()就…

http://blog.xuite.net/ian11832/blogg/23967641

  引用這個站的結論:『使用 vfork() 產生的 child process 很可能會破壞 parent process 原本的資料段,所以使用 vfork() 時必須格外小心;另外近來的 fork() 已使用 copy-on-write的技術,因此已不太推薦使用 vfork() 函式了』

Advertisements
本篇發表於 Bookmark, 網路, Linux。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s