linux下杀子进程(调用kill)
在linux里面,fork()一个子进程,结果怎么都杀不掉。由于不是root用户,使用kill -9 pid,也没用。
在ps -awt的时候总是能看到那个子进程。我在子进程里面起了个shell。
后来google了一下,发现要调用waitpid才可以。
这个是所谓的zombie(僵尸进程)
引用一段:
在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继给1号进程init,init始终会负责清理僵尸进程。
僵尸进程是指的父进程已经退出,而该进程dead之后没有进程接受,就成为僵尸进程.(zombie)进程
附测试代码:
#include
#include
#include
#include
#include
#include
#include
int main( void )
{
FILE *stream;
FILE *wstream;
char buf[1024],buf1[1024];
int i,j,pid;
memset( buf, '\0', sizeof(buf) );//初始化buf,以免后面写如乱码到文件中
pid = fork();
if(pid>0)
{
printf("parant start!%d\n",pid);
sleep(2);
//sprintf(buf,"kill -9 %d\n",pid);
if (j = kill(pid,SIGTERM) < 0)//SIGKILL
printf("parent system failed!\n");
else
printf("system:%s\n,result:%d\n",buf,j);
printf("parant end!\n");
pid=wait(NULL);
printf("I catched a child process with pid of %d\n",pid);
&nb
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
用Apache配置虚拟主机
apache不仅支持基于域名的虚拟主机,还支持基于IP的虚拟主机,每一个apache虚拟主机都有单独的配置文件在/etc/apache2/sites-available中,default是默认的虚拟主机,这个虚拟主机在安装时已经被链接到 /etc/apache2/sites-enabled 目录下,在浏览器中访问服务器IP地址,将会出现 “It Works&rd ......
Linux中tty、pty、pts的概念区别
基本概念:
1> tty(终端设备的统称):
tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。
终端是一种字符型设备,它有多种类型,通常使用tty来简称各 ......
一、引言
想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux 和Windows本身就有很大区别。为了让和我一 ......
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。
信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的 ......
&spm=1001.2101.3001.5002&articleId=116552635&d=1&t=3&u=f5dd3ae1548740e7a065552a7c6ac97b)
340

被折叠的 条评论
为什么被折叠?



