细究fork()和vfork()
生活随笔
收集整理的這篇文章主要介紹了
细究fork()和vfork()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在linux系統下,對于程序執行的過程中,我們都會想到進程。而創建進程通常使用fork函數,當然還有vfork函數。
今天在這,我將分享一下我的學習心得:關于fork()和vfork()
fork()
1.定義:表示進程A創建進程B。在創建的過程中,進程B拷貝了一份進程A的所有資源。(進程A:父進程;進程B:子進程)
2.返回值可以有三種:0(表示子進程返回值為0)、-1(表示父進程創建子進程失敗)、>0(表示父進程返回值為子進程的ID號)
?
vfork()
1.定義:表示進程A創建進程B。在創建的過程中,進程B共享進程A所分配的進程資源。(進程A:父進程;進程B:子進程)
2.返回值:0(表示子進程返回值為0)、-1(表示父進程創建子進程失敗)、>0(表示父進程返回值為子進程的ID號)
?
僵尸進程:一個子進程結束后,父進程沒有及時釋放子進程所占有的資源,此時稱子進程為僵尸進程。
孤兒進程:一個子進程的父進程先于子進程結束。子進程將由init進程收養,成為init進程的子進程。
轉載于:https://www.cnblogs.com/single-dont/p/10504779.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的细究fork()和vfork()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 预编译头文件
- 下一篇: SQL Server 2008 性能测试