请参考linux c一站式学习,此节内容
http://learn.akae.cn/media/ch30s03.html#id2867242
可以设置父进程忽略SIGCHLD信号,或者在SIGCHLD信号的处理函数中调用wait函数,即可获取子进程的退出状态,且销毁僵尸进程。
1)调用wait函数
#include <unistd.h>
#include <stdlib.h>
#include <iostream>
#include <signal.h>
#include <sys/wait.h>
using namespace std;
void sig_deal(int signo){
cout<<"I'm called"<<signo<<endl;
int stat;
wait(&stat);
cout<<"status = "<<stat<<endl;
}
int main(void)
{
pid_t pid=fork();
if(pid<0) {
cout<<"error"<<endl;
exit(1);
}
if(pid>0) { /* parent */
signal(SIGCHLD,sig_deal);
while(1);
}
/* child */
return 1;
}
2)使用SIG_IGN
#include <unistd.h>
#include <stdlib.h>
#include <iostream>
#include <signal.h>
#include <sys/wait.h>
using namespace std;
void sig_deal(int signo){
cout<<"I'm called"<<signo<<endl;
int stat;
wait(&stat);
cout<<"status = "<<stat<<endl;
}
int main(void)
{
pid_t pid=fork();
if(pid<0) {
cout<<"error"<<endl;
exit(1);
}
if(pid>0) { /* parent */
signal(SIGCHLD,SIG_IGN);
while(1);
}
/* child */
return 1;
}
分享到:
相关推荐
介绍什么是僵尸进程,以及如何处理僵尸进程
Linux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态。例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止。如果子进程已经终止,那么,...
dumb-init 跨框架init初始化进程,有效回收僵尸进程
Linux杀死僵尸进程.zip 需要掌握的运维命令有ls、ps、free、top、uptime、ifconfig、susudo、dmesg、iostat、vmstat、sar、htop、iotop、smem等
僵尸进程的产生和如何避免僵尸进程的产生和如何避免僵尸进程的产生和如何避免僵尸进程的产生和如何避免
在linux系统中程序是以进程启动的。而每个进程有分子进程和父进程。当子进程被杀死。而父进程还在运行时。就形成了僵尸进程
Linux避免僵尸进程
Linux系统编程——特殊进程之僵尸进程,相关链接教程如下: http://blog.csdn.net/tennysonsky/article/details/45966571
本文主要给大家介绍了关于Linux中僵尸进程和孤儿进程的相关内容,分享给出来供大家参考学习,下面来看看详细的介绍: 1、僵尸进程 一个子进程在其父进程没有调用wait()或waitpid()的情况下退出,这个子进程就是僵尸...
在Linux系统中查看进程及杀死僵尸进程的方法.docx
Linux寻找和杀掉僵尸进程的方法和命令
消除僵尸进程一般有5种方法,此处为其中的最常见最常用的两种
如何处理僵尸进程
基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。...僵尸进程 一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程
linux抓取僵尸网络进程脚本
Linux安全攻略——僵尸进程.pdf
下一代防火墙NGAF发现终端有访问僵尸网路的告警,该告警不定时出现,特编写脚本在终端运行,捕获哪个进程访问僵尸网络目的ip。适合读者:网络信息安全运营工程师,网络信息安全事件溯源等
04年时维护的第一个商业服务就用了两次fork产生守护进程的做法,前两天在网上看到许多帖子以及一些unix书籍,认为一次fork后产生守护进程足够了,各有道理吧,不过多了一次fork到底是出于什么目的呢?
主要给大家讲解的是在Python中是如何产生僵尸进程的,以及如何清除僵尸进程的方法,有需要的小伙伴可以参考下