當前位置:
首頁 >
Linux进程全解4——fork创建子进程
發布時間:2023/12/20
27
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Linux进程全解4——fork创建子进程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以下內容源于朱有鵬《物聯網大講堂》課程的學習整理,如有侵權,請告知刪除。
1、為什么要創建子進程?
(1)每一次程序的運行都需要一個進程;
(2)多進程實現宏觀上的并行。
2、fork的內部原理
(1)進程的分裂生長模式
- 如果操作系統需要一個新進程來運行一個程序,那么操作系統會用一個現有的進程來復制生成一個新進程。注意是復制后再修改,而不是重新創建(代價大)。
- 老進程叫父進程,復制生成的新進程叫子進程。
(2)fork的演示
- fork函數調用一次,會返回2次,因為父子都有相同的一份代碼,進程同時被運行。
- 使用fork函數,返回值等于0,則表明是子進程;返回值大于0,則表明是父進程。
- 典型的使用fork的方法:區分當前是在子進程還是在父進程,即使用fork后用if判斷返回值,如果返回值大于0時就是在父進程中,等于0時就是在子進程中,然后在各自的{ ?}里再做操作。
- fork的返回值在子進程中等于0,在父進程中等于(本次fork創建的)子進程的進程ID。
3、關于子進程
(1)子進程和父進程的關系
- 子進程一旦建立,子進程不再依賴于父進程。
(2)子進程有自己獨立的PCB;
(3)子進程被內核同等調度。
總結
以上是生活随笔為你收集整理的Linux进程全解4——fork创建子进程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDK8下载安装及配置环境教程,一看就会
- 下一篇: CSDN博客——修改字体、字号与颜色