#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void hulue()
{
printf("you can't kill me\n");
}
int main()
{
int i = 0;
i = SIGABRT;
for(i=1;i < 20;i++)
signal(i, hulue);
while(1)
{
}
return 0;
}
~
#include <signal.h>
#include <unistd.h>
void hulue()
{
printf("you can't kill me\n");
}
int main()
{
int i = 0;
i = SIGABRT;
for(i=1;i < 20;i++)
signal(i, hulue);
while(1)
{
}
return 0;
}
~
原理很简单,看代码很容易理解
该程序在kill -9的命令下是会被干掉到,了解kill -9的人自然知道这是个内核级别的命令,而且是非阻塞的,除非你能在调用或者执行到事件能够触及到中断不被允许,你的进程还能活着!