色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 多進程編程中父進程如何回收僵尸進程,經(jīng)典中的經(jīng)典

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

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

首先我們寫一個例子:

#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;

}

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

this is parent process, pid = 3538

this is child process, pid = 3539

child process exit

使用ps -aux查看進程狀態(tài)

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

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

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

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

#include

#include

pid_t wait(int *status);

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

wait: 父進程調(diào)用等待任一子進程退出。等同于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;

}

運行結(jié)果:

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查看發(fā)現(xiàn)原來程序運行過程僵尸態(tài)的子進程已經(jīng)不在了。已經(jīng)不在了。

上一篇:進程標(biāo)識符詳解,讓你對進程標(biāo)識符有深入理解

下一篇:busybox文件系統(tǒng)制作步驟,帶你快速學(xué)習(xí)

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

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 成人疯狂猛交xxx| 91精品久久久久久久久青青| 欧美一区三区三区高中清蜜桃| 日本欧美一级片| 日韩av综合网| 欧美日韩另类在线| 国产美女被下药99| 日韩网站免费观看| 日本电影亚洲天堂| 亚洲视频在线免费观看| 欧美激情国产高清| 成人午夜激情免费视频| 欧美成人合集magnet| 国产精品日日摸夜夜添夜夜av| 国产亚洲精品成人av久久ww| 国语自产精品视频在免费| 国产精品亚洲第一区| 最新的欧美黄色| 国产精品爱久久久久久久| 国产亚洲欧美另类中文| 日本在线观看天堂男亚洲| 中文字幕日韩av| 国产精品自拍偷拍视频| 久久国产精品首页| 亚洲最大成人免费视频| 久久久久中文字幕| 一区二区三区回区在观看免费视频| 欧美亚洲日本网站| 爱福利视频一区| 国产在线观看91精品一区| 欧美日韩另类视频| 国产亚洲精品综合一区91| 国产精品久久久久久久久久尿| 精品国产一区二区三区在线观看| 91精品国产综合久久香蕉的用户体验| 欧美日韩国产123| 亚洲欧美精品伊人久久| 国产精品久久久久久搜索| 日韩欧美大尺度| 国产亚洲精品高潮| 亚洲国产精品久久精品怡红院|