日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

系统编程__2__父子进程的创建和回收

發(fā)布時(shí)間:2023/12/10 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 系统编程__2__父子进程的创建和回收 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

系統(tǒng)編程

這里寫的是對于小白來說更多的了解系統(tǒng)編程的文章,有寫的不對的地方還懇請各位大佬指出錯(cuò)誤,小編一定會(huì)多多采納[手動(dòng)多謝]。
那么,上一次我們稍微了解了一下關(guān)于系統(tǒng)編程的一些主要內(nèi)容[沒有看到的童鞋還請去上一篇文章稍微復(fù)習(xí)一下噢]。
這節(jié)課,我們先來想一想,我們?yōu)槭裁匆獙W(xué)系統(tǒng)編程呢?原因很簡單,我們要充分的利用CPU的性能,CPU和我們?nèi)祟惒惶粯?#xff0c;我們?nèi)祟惔蠖鄶?shù)情況下,在同一時(shí)間,只能完成一件事,而CPU作為無數(shù)科學(xué)家的心血當(dāng)然不會(huì)這么簡單,CPU能夠同時(shí)進(jìn)行多個(gè)進(jìn)程,這里的進(jìn)程我們可以理解成任務(wù),再說的生動(dòng)形象一點(diǎn),就是CPU可以在做飯的時(shí)候同時(shí)可以洗衣服,那么這是怎么完成這一系列的操作呢,咳咳,這里我們不進(jìn)入深入了解,畢竟我們也是站在無數(shù)巨人的肩膀上進(jìn)行開發(fā)的嘛,我們需要知道的是,怎么調(diào)用接口函數(shù),使得CPU可以同時(shí)進(jìn)行多個(gè)任務(wù)。

介紹一下關(guān)于父子進(jìn)程和進(jìn)程的ID號(注意父子進(jìn)程只是進(jìn)程間的其中一種關(guān)系):有血緣關(guān)系的進(jìn)程(這里知道有這個(gè)概念就好,不必過于深究)
父進(jìn)程:我們調(diào)用fork這個(gè)函數(shù),創(chuàng)建出來的是子進(jìn)程,調(diào)用fork的進(jìn)程就是父進(jìn)程。
子進(jìn)程:fork產(chǎn)生的進(jìn)程。
ID號:每個(gè)進(jìn)程系統(tǒng)都會(huì)分配一個(gè)ID號,用來區(qū)分不同進(jìn)程。

重點(diǎn)來了,父子進(jìn)程的接口函數(shù):

進(jìn)程的創(chuàng)建:pid_t fork (void)返回值共有三種情況:>0 ;父進(jìn)程的返回值,此時(shí)返回值為創(chuàng)建成功的那個(gè)子進(jìn)程的ID號。=0;子進(jìn)程的返回值<0; 創(chuàng)建進(jìn)程失敗注意:1.fork函數(shù)與以往我們使用的函數(shù)不一樣,fork函數(shù)一次調(diào)用兩次返回,即父,子進(jìn)程各有一次返回值。2.fork函數(shù)調(diào)用之后父進(jìn)程與子進(jìn)程的操作是獨(dú)立的,原因是因?yàn)楫?dāng)調(diào)用fork函數(shù)之后,系統(tǒng)會(huì)向內(nèi)存生請一段和源碼相同大小的內(nèi)存空間,并將源碼完整的復(fù)制過去(相似度為99。9%),這段內(nèi)存用來運(yùn)行fork產(chǎn)生的子進(jìn)程,比如設(shè)置全局變量int a,在父進(jìn)程中有a=4 ,子進(jìn)程中a=3,則這段代碼中a同時(shí)有兩個(gè)值,父進(jìn)程中有a=4 ,子進(jìn)程中a=3 。

和文件IO類似,進(jìn)程有著回收的步驟(這里只講父子進(jìn)程)。
在介紹進(jìn)程回收之前,我們還得了解了解cpu的調(diào)度策略:

首先,我們了解了解什么是孤兒進(jìn)程:

孤兒進(jìn)程:又稱僵尸進(jìn)程,對于父子進(jìn)程來說產(chǎn)生孤兒進(jìn)程的原因是,父進(jìn)程先于子進(jìn)程退出,導(dǎo)致子進(jìn)程無人回收,子進(jìn)程就 變成了孤兒進(jìn)程(重點(diǎn)) 進(jìn)程的組成:數(shù)據(jù)段,代碼段,進(jìn)程控制塊(PCB->process control block) 進(jìn)程控制塊:指的是系統(tǒng)中定義的一塊結(jié)構(gòu)體,該結(jié)構(gòu)體用于儲存進(jìn)程運(yùn)行時(shí)候的狀態(tài)信息。(這里的概念了解了解就行)

我們再了解了解,孤兒進(jìn)程有什么壞處:

壞處1:孤兒進(jìn)程無法回收,占用cup內(nèi)存. 壞處2:孤兒進(jìn)程無法普通方法無法終止,可能造成像病毒一樣的視覺效果。

進(jìn)程的退出:

退出進(jìn)程: void exit (int status);void _exit (int status);

進(jìn)程的回收:

進(jìn)程回收:包含的頭文件:#include<sys/wait.h>pid_t wait (int * wstatus)返回值:成功, 返回回收的那個(gè)子進(jìn)程的ID號失敗: -1 ;參數(shù):wstatus -->用于保存進(jìn)程退出時(shí),狀態(tài)信息(包括退出值)exit退出的僅僅是一部分。pid_t waitpid (pid_t pid ,int * wstatus,int options);返回值:成功返回回收的子進(jìn)程的ID號失敗:-1 ;參數(shù):pid -->waitpid (-10002);//我要回收 進(jìn)程組ID為10002里的某個(gè)子進(jìn)程.waitpid (-1);//我要回收任意一個(gè)子進(jìn)程waitpid (0);//我要回收任意一個(gè)子進(jìn)程waitpid (20000)//我要回收ID號為20000的進(jìn)程options->WNOHANG //非阻塞等待(父進(jìn)程退出時(shí),若子進(jìn)程還沒結(jié)束,那么父進(jìn)程不阻塞等待,直接結(jié)束)。->阻塞等待

在很多時(shí)候我們都需要知道各個(gè)進(jìn)程的ID號,比如,當(dāng)想要回收某個(gè)確定的進(jìn)程時(shí),所以由此引出獲取各個(gè)進(jìn)程的ID號的函數(shù),例:

pid_t getpid (void)返回值:當(dāng)前進(jìn)程ID號pid_t getppid(void)返回值:當(dāng)前父進(jìn)程ID號pid_t getgrp(void)返回值:當(dāng)前進(jìn)程所屬進(jìn)程組ID號

下面介紹一下各種關(guān)于進(jìn)程退出時(shí)可以利用進(jìn)程退出值進(jìn)行判斷的宏定義(不用背,要用的時(shí)侯找出來用就行)

WIFEXITED(status)//如果子進(jìn)程正常退出,則該宏為真。 WEXITSTATUS(status)//如果子進(jìn)程正常退出,則該宏將獲取子進(jìn)程退出值。 WCOREDUMP(status)//如果子進(jìn)程被信號殺死且生成核心轉(zhuǎn)儲文件(core,dump),則該宏為真。 WTERMSIG (status)//如果子進(jìn)程被信號殺死,該宏獲取導(dǎo)致他死亡信號值 WIFSTOPPED(status)//如果子進(jìn)程被信號暫停,且option中 WUNTRACED已被設(shè)置,為真。 WSTOPSIG(status)//如果WIFSYOPPEN(status)為真,則該宏將獲取導(dǎo)致子進(jìn)程暫停的信號值。 WIFCONTINUED(status),如果子進(jìn)程被信號SIGONT重新置為就緒態(tài),該宏為真。

總結(jié)

以上是生活随笔為你收集整理的系统编程__2__父子进程的创建和回收的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费不卡视频 | 黄片毛片视频 | 三级黄色片免费 | 中文字幕88页 | 国产高清视频免费观看 | 亚洲av熟女高潮一区二区 | 奇米色婷婷 | 91av看片 | www.日本在线 | 人人曰| 日本a在线播放 | 一本大道久久a久久精二百 琪琪色在线视频 | 国产区一区二 | 色在线看| 国产丝袜视频在线观看 | 国产欧美日韩久久 | 亚洲欧美日韩天堂 | 成人综合激情网 | 亚洲国产欧美在线观看 | 精品亚洲永久免费精品 | 亚洲免费av网站 | 精品一区二区三区久久久 | 国模精品视频一区二区 | a级淫片| 免费看黄色片子 | jizzjizz8| wwwxx欧美| 亚洲无人区码一码二码三码 | 日韩和一区二区 | 黄色动漫免费在线观看 | 动漫美女露胸网站 | 国产乱淫精品一区二区三区毛片 | 人妻丰满熟妇岳av无码区hd | 欧美一级色 | 一级黄色片毛片 | 国产午夜视频在线播放 | 欧洲av无码放荡人妇网站 | 国产91久久精品一区二区 | 日本不卡网站 | 日本黄色美女 | 好吊视频在线观看 | 可以免费观看av的网站 | 亚洲国产精品久久久久久6q | 毛片av网址 | 91在线网| 亚洲一区二区三区中文字幕 | 国产特级黄色录像 | 日韩精品小视频 | 午夜精品一区二区三区在线 | 日韩熟女一区二区 | 91天堂网| 久久综合亚洲 | 日韩二区三区四区 | 日本大片黄 | 久久伊人网站 | 国产精品一区二区无线 | 欧美1区 | 日韩欧美一区二区三区视频 | 日韩欧美国产一区二区在线观看 | 欧美另类色图 | 青青草久 | 日本网站免费观看 | 放荡闺蜜高h季红豆h | 日韩欧美精品在线播放 | 456亚洲影视 | 久久久久久久久久久久久av | 后入内射欧美99二区视频 | 亚洲清纯国产 | 国产伦精品一区二区三区免费迷 | 自由 日本语 热 亚洲人 | 国产在线观看www | 婷婷色基地 | 淫视频在线观看 | www.色呦呦| 香蕉网在线观看 | 久久久久久久久免费视频 | 欧美中文在线观看 | 色吧综合 | 欧美性做爰免费观看 | 亚洲黄色大全 | 午夜精品一区二区三区在线播放 | 欧美在线精品一区二区三区 | 国产精品久久久久久无人区 | 8x8x国产精品一区二区 | www.com国产 | 天天爽天天爽 | 综合久久久久 | 日韩另类视频 | 丁五月 | 四虎黄网 | 成人欧美一区二区三区黑人一 | 国产免费高清视频 | 在线播放不卡 | 一级黄色片欧美 | 在线观看亚洲免费视频 | 男阳茎进女阳道视频大全 | 色先锋在线 | 日韩精品视频一区二区 | 嫩草伊人|