C++进程
C++進程
- 進程創(chuàng)建
- .fork、vfork、clone
- fork()函數(shù)
- vfork()函數(shù)
- clone()函數(shù)
- 進程切換
- 特殊進程
進程創(chuàng)建
.fork、vfork、clone
三個函數(shù)分別調(diào)用了sys_fork、sys_vfork、sys_clone,最終都調(diào)用了do_fork函數(shù)
fork()函數(shù)
1.傳統(tǒng)的fork()系統(tǒng)調(diào)用在Linux中是用clone()實現(xiàn)的,其中clone()的flags參數(shù)指定為SIGCHLD信號及所有清0的clone標志
2.創(chuàng)建的子進程復制了父進程的資源,使用copy-on-write技術,子進程與父進程使用相同的物理頁,只有子進程視圖寫一個物理頁時,才copy這個物理頁到一個新的物理頁,子進程使用新的物理頁,與父進程的內(nèi)存地址分開,開始獨立運行(fork)
vfork()函數(shù)
1.vfork()系統(tǒng)調(diào)用在Linux中也是用clone()實現(xiàn)的,其中clone()的參數(shù)flags指定為SIGCHLD信號和CLONE_VM和CLONE_VFORK標志,clone
總結(jié)
- 上一篇: 民生银行信用卡逾期几天会有不良记录
- 下一篇: 中国航天员大队有多厉害?