Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115806
  • 博文数量: 22
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 290
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-08 20:21
文章分类
文章存档

2011年(9)

2009年(1)

2008年(12)

我的朋友

分类: C/C++

2008-09-19 10:21:25

#include
#include
#include
#include
#include
#include

void fun(int sig)
{
    kill(0 , SIGKILL );
}

int main( void )
{
    int pid = 0;

    if( pid = fork() )
    {
        fflush( stdout );
        sleep ( 5 );
        printf ( "kill ( pid, SIG ); \n");
        fflush( stdout );
        kill ( pid, SIGUSR1 );
        sleep ( 10 );
        printf ( "the father is still alive!\n", pid );
        fflush( stdout );
    }
    else
    {
        setpgid(0,0);
        signal( SIGUSR1, fun );
        if( pid = fork() )
        {
            int i = 10;
            while ( i-- )
            {    
                fflush( stdout );
                sleep ( 1 );
            }
        }
        else
        {
            int i = 10;
            while ( i-- )
            {    
                printf ( "in grandsun , pid= %d\nin grandsun , ppid= %d\n", getpid(), getppid() );
                fflush( stdout );
                sleep ( 1 );
            }
        }
    }
    
    return 0;
}

 
阅读(877) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~