色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 多進程編程中父進程如何回收僵尸進程,經典中的經典

多進程編程中父進程如何回收僵尸進程,經典中的經典 時間:2018-06-27      來源:未知

多進程編程中會可能會產生僵尸進程,這些僵尸進程不斷蠶食系統資源,是系統變得越來越慢直至死亡,這種情況在并發模型中體現的尤為突出。這里分析下我們在多進程編程中如何解決這樣的問題。

首先我們寫一個例子:

#include

#include

#include

int main(int argc, char **argv)

{

int pid;

pid = fork();

if (pid > 0) {

printf("this is parent process, pid = %d\n", getpid());

while(1);

} else if (pid == 0) {

printf("this is child process, pid = %d\n", getpid());

printf("child process exit\n");

} else {

printf("create child process failed\n");

}

return 0;

}

本例中: 父進程創建子進程,進程完成移動工作后退出。運行效果如下:

this is parent process, pid = 3538

this is child process, pid = 3539

child process exit

使用ps -aux查看進程狀態

此時父進程3538狀態為R+而子進程狀態為Z+,通過查看ps命令文檔可的如下說明:

按照幫助文檔中說明:R為運行態,Z為僵尸(zombie)態。

回收僵尸進程我們可以用如下方法:

使用wait()或waitpid()函數。

#include

#include

pid_t wait(int *status);

pid_t waitpid(pid_t pid, int *status, int options);

wait: 父進程調用等待任一子進程退出。等同于waitpid(-1, &status, 0);

waitpid:

  

使用waitpid回收僵尸進程,如下:

C++ Code

#include

#include

#include

#include

#include

int main(int argc, char **argv)

{

int pid, cpid;

pid = fork();

if (pid > 0) {

printf("this is parent process, pid = %d\n", getpid());

while(1) {

cpid = waitpid(-1, NULL, 0);

fprintf(stdout, "waitpid pid = %d: %s\n", cpid, strerror(errno));

sleep(1);

}

} else if (pid == 0) {

printf("this is child process, pid = %d\n", getpid());

printf("child process exit\n");

} else {

printf("create child process failed\n");

}

return 0;

}

運行結果:

this is parent process, pid = 4085

this is child process, pid = 4086

child process exit

waitpid pid = 4086: Success

waitpid pid = -1: No child processes

waitpid pid = -1: No child processes
  ps -aux查看發現原來程序運行過程僵尸態的子進程已經不在了。已經不在了。

上一篇:進程標識符詳解,讓你對進程標識符有深入理解

下一篇:busybox文件系統制作步驟,帶你快速學習

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5,京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 国产精品久久久久久久曹县翰林府 | 欧美亚洲另类丝袜综合网 | 亚洲AV永久无码精品主页 | 日本BBWW高潮BBWR | 97超碰国产精品无码分类 | 天天做天天爱夜夜爽女人爽 | 少妇私密推油呻吟在线播放 | xxxxx古代性xxxx | 久久99国产精品成人 | 狠狠色丁香婷婷久久综合不卡 | www.youjizz.com久久 | 免费人妻无码不卡中文字幕18禁 | 无码中文字幕日韩专区视频 | 日日操操操| 国产一级a真人免费视频 | 少妇放荡的呻吟干柴烈火免费视频 | 福利一区二区福利刺激微拍 | 免费无码成人片在线观看 | 蜜芽忘忧草768二区二百 | 毛片在线网址 | 亚洲AV色香蕉一区二区蜜桃 | 黑人30厘米少妇高潮全部进入 | 麻豆传媒国产 | 午夜精品久久久久久久四虎 | 100日本XXXXXXXXX| 亚洲日韩精品AV无码富二代 | 狠狠色丁香婷婷久久综合蜜芽 | 浪潮AV激情高潮国产精品 | 五月天在线网址 | 国产精品国产自线拍免费 | 国产精品无码AV在线播放 | 欧洲免费一区二区三区视频 | 麻豆精产国品一二三区别网站 | 爆乳肉体大杂交soe646在线观看 | KTV少少爷互囗交Gaygv | 人人超人人超碰超国产97超碰 | 中文字幕无码乱码人妻系列蜜桃 | 中国国产高清免费av片 | 在线观看一区不卡 | 00粉嫩高中生洗澡偷拍视频 | FREEXXXX性中囯HD性 |