青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

我對(duì)信號(hào)的理解

Posted on 2009-01-13 11:07 Prayer 閱讀(346) 評(píng)論(0)  編輯 收藏 引用 所屬分類: LINUX/UNIX/AIX

自己寫了一些代碼,看看到底內(nèi)部如何處理的。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h> 
#include <signal.h> 
#include <sys/stat.h>
#include <stdarg.h>

pid_t pid;

void mydebug(char *fmt, ...){
    va_list     argptr;
    FILE        *pFile;
    if( ( pFile = fopen( "./mylog", "a+" ) ) == NULL )
 return;

    va_start( argptr, fmt );
    vfprintf( pFile, fmt, argptr );
    va_end( argptr );

    fclose( pFile ); 
 }

void sigTermHandler()
{
    kill(pid,SIGTERM);
}

int main(){
   int i=0;
  signal(SIGTERM,(void (*)( ))sigTermHandler);
 
   mydebug("創(chuàng)建進(jìn)程\n");
   if((pid=fork())<0){
    mydebug("fork失敗\n");
    return -1;     
   }
   if(pid==0){
   if(execl("./sig2",(char *) 0) < 0){
        mydebug("execl失敗\n");
    exit(1);
    }    
    }
    mydebug("等待100秒\n");    
    sleep(10);
    while(1){
      kill(pid,SIGUSR1);
      mydebug("已發(fā)送了USR1信號(hào) %d\n",i++);
      sleep(5);     
     }
    return 1;
}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h> 
#include <signal.h> 
#include <sys/stat.h>
#include <stdarg.h>

void mydebug(char *fmt, ...){
    va_list     argptr;
    FILE        *pFile;
    if( ( pFile = fopen( "./mylog", "a+" ) ) == NULL )
 return;

    va_start( argptr, fmt );
    vfprintf( pFile, fmt, argptr );
    va_end( argptr );

    fclose( pFile ); 
 }

void sigUsr1Handler()
{
 signal(SIGUSR1,SIG_IGN);
  mydebug("進(jìn)入了信號(hào)處理函數(shù)\n");
 signal(SIGUSR1,(void (*)( ))sigUsr1Handler);
}
void sigTermHandler()
{
 mydebug("接受到SIGTERM信號(hào),退出\n");
 exit(0);
}

int main(){
   int i=0;
  signal(SIGUSR1,(void (*)( ))sigUsr1Handler); 
  signal(SIGTERM,(void (*)( ))sigTermHandler);
 
   mydebug("進(jìn)入循環(huán)\n");
   while(1){
      sleep(10);
      mydebug("i=%d\n",i++);
    }
   mydebug("退出程序\n");    
   return 0;
}


cc sig1.c -o sig1
cc sig2.c -o sig2
(使用-o sig1.o沒(méi)有編譯出應(yīng)用程序,也沒(méi)有提示錯(cuò)誤)

sig1&
tail -f mylog
創(chuàng)建進(jìn)程
等待100秒
進(jìn)入循環(huán)
已發(fā)送了USR1信號(hào) 0
進(jìn)入了信號(hào)處理函數(shù)
i=0
已發(fā)送了USR1信號(hào) 1
進(jìn)入了信號(hào)處理函數(shù)
i=1
已發(fā)送了USR1信號(hào) 2
進(jìn)入了信號(hào)處理函數(shù)
i=2
已發(fā)送了USR1信號(hào) 3
進(jìn)入了信號(hào)處理函數(shù)
i=3
已發(fā)送了USR1信號(hào) 4
進(jìn)入了信號(hào)處理函數(shù)
i=4
已發(fā)送了USR1信號(hào) 5
進(jìn)入了信號(hào)處理函數(shù)
i=5
已發(fā)送了USR1信號(hào) 6
進(jìn)入了信號(hào)處理函數(shù)
i=6
已發(fā)送了USR1信號(hào) 7
進(jìn)入了信號(hào)處理函數(shù)
i=7
已發(fā)送了USR1信號(hào) 8
進(jìn)入了信號(hào)處理函數(shù)
i=8
已發(fā)送了USR1信號(hào) 9
進(jìn)入了信號(hào)處理函數(shù)


此時(shí),在shell下使用kill殺死sig1,則根據(jù)sig1的sigTermHandler,sig2會(huì)被殺死。

接受到SIGTERM信號(hào),退出
已發(fā)送了USR1信號(hào) 10
已發(fā)送了USR1信號(hào) 11
已發(fā)送了USR1信號(hào) 12
已發(fā)送了USR1信號(hào) 13
已發(fā)送了USR1信號(hào) 14
已發(fā)送了USR1信號(hào) 15
已發(fā)送了USR1信號(hào) 16
已發(fā)送了USR1信號(hào) 17

但是sig1本身沒(méi)有被殺死,這時(shí)因?yàn)闆](méi)有在sigTermHandler里面重新注冊(cè)signal(SIGTERM,(void (*)( ))sigTermHandler);
執(zhí)行了一次sigTermHandler后,對(duì)SIGTERM的處理恢復(fù)到系統(tǒng)默認(rèn)的處理。
然后再一次執(zhí)行kill,殺死sig1,則sig1被殺死。


--可以看出,如果信號(hào)處理函數(shù)內(nèi)部沒(méi)有exit,則進(jìn)程不會(huì)退出,只是回到原來(lái)被中斷的地方繼續(xù)執(zhí)行。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品视频在线看| 欧美视频在线观看一区二区| 国产精品一区视频| 午夜精品久久久久久久99热浪潮 | 亚洲区一区二区三区| 免费国产一区二区| 蜜桃久久精品乱码一区二区| 亚洲精品国久久99热| 亚洲美女黄网| 国产免费观看久久| 久久久精品欧美丰满| 久久久九九九九| 亚洲欧洲日本专区| 中文在线一区| 一区二区三区亚洲| 亚洲人成绝费网站色www| 欧美日韩国产黄| 欧美一区二区女人| 久久久久综合一区二区三区| 亚洲国语精品自产拍在线观看| 亚洲黄色尤物视频| 国产精品久久久久国产精品日日| 久久成人18免费观看| 久久久久久亚洲精品杨幂换脸 | 国产欧美精品一区| 欧美xxx成人| 国产精品国产一区二区| 美女国内精品自产拍在线播放| 蜜臀va亚洲va欧美va天堂| 在线亚洲欧美视频| 久久久国产精品一区二区中文| 亚洲精品三级| 午夜精品久久久久久久蜜桃app| 亚洲国产精品欧美一二99| 在线视频精品| 亚洲国产欧洲综合997久久| 亚洲一区二区三区三| 亚洲国产视频一区| 欧美一级久久| 亚洲一区二区少妇| 免费欧美在线| 欧美在线一级视频| 欧美日韩精品在线视频| 欧美风情在线| 国产网站欧美日韩免费精品在线观看 | 国产亚洲欧洲一区高清在线观看 | 欧美v日韩v国产v| 国产精品一区在线观看你懂的| 欧美韩国日本一区| 国产色产综合产在线视频| 亚洲人体1000| 亚洲精品美女| 久久九九国产| 欧美伊久线香蕉线新在线| 欧美精品97| 亚洲成色精品| 亚洲精选久久| 在线欧美日韩精品| 久久国产精品久久精品国产| 亚洲欧美成人精品| 欧美日韩中文| aa级大片欧美三级| 9色国产精品| 欧美精品一区二| 亚洲国产99| 亚洲精品国产精品乱码不99| 久久婷婷色综合| 欧美高清视频在线观看| 精品69视频一区二区三区| 久久不见久久见免费视频1| 欧美影院久久久| 国产一区二区成人久久免费影院| 亚洲综合日韩在线| 欧美一区在线直播| 国产一区二区三区精品久久久| 午夜精品国产更新| 久久精品国产精品亚洲综合| 国产日韩欧美综合精品| 欧美一区二区三区免费大片| 久久久精彩视频| 伊人成年综合电影网| 巨乳诱惑日韩免费av| 欧美国产日韩一区二区| 一区二区精品在线| 欧美性天天影院| 欧美一区二区三区日韩视频| 久久影院亚洲| 99精品国产福利在线观看免费| 欧美日韩成人一区二区| 亚洲一区亚洲二区| 久久久欧美精品sm网站| 91久久精品国产91久久性色| 欧美久久久久久| 亚洲欧美精品| 欧美成人第一页| 亚洲性感激情| 激情婷婷亚洲| 欧美日韩精品综合| 午夜在线视频观看日韩17c| 裸体素人女欧美日韩| 99精品国产福利在线观看免费 | 欧美日韩大片| 亚洲欧美在线免费| 免费永久网站黄欧美| 中文无字幕一区二区三区| 国产日韩精品一区二区| 免费国产一区二区| 亚洲影院在线| 91久久精品一区二区三区| 亚洲欧美日本精品| 亚洲国产欧美国产综合一区| 国产精品久久久久毛片软件 | 欧美在线免费| 日韩系列在线| 美女久久一区| 香蕉视频成人在线观看| 最新国产精品拍自在线播放| 国产日本欧美一区二区三区在线| 媚黑女一区二区| 午夜精品视频| 亚洲麻豆av| 亚洲国产日韩美| 久久亚洲精品一区二区| 亚洲一区三区电影在线观看| 精品1区2区3区4区| 国产色视频一区| 欧美涩涩视频| 欧美精品福利在线| 久久亚洲精品欧美| 欧美在线观看网站| 在线视频一区观看| 亚洲精品国产日韩| 亚洲国产精品电影在线观看| 美女精品自拍一二三四| 久久久福利视频| 欧美亚洲自偷自偷| 亚洲在线免费视频| 一区二区三区高清在线| 亚洲国产一二三| 亚洲国产另类久久久精品极度| 海角社区69精品视频| 国产日韩精品视频一区二区三区| 欧美午夜无遮挡| 国产精品高潮久久| 国产精品久久国产精品99gif | 欧美高清视频在线| 久久这里只有精品视频首页| 久久久久久电影| 久久麻豆一区二区| 久久久综合网站| 久久这里只有精品视频首页| 麻豆精品精华液| 欧美成人免费全部观看天天性色| 美女精品一区| 欧美顶级艳妇交换群宴| 欧美剧在线观看| 欧美三区在线观看| 国产精品萝li| 国产午夜亚洲精品不卡| 国内精品久久久久伊人av| 影音先锋亚洲精品| 亚洲激情一区二区| 在线亚洲欧美视频| 亚洲欧美日韩国产综合| 久久精品亚洲精品国产欧美kt∨| 久久九九精品99国产精品| 蜜臀va亚洲va欧美va天堂 | 久久精品国产欧美激情| 久久综合九色综合久99| 欧美成在线视频| 亚洲精品国产精品国自产在线| av成人免费在线观看| 午夜欧美精品久久久久久久| 久久久久欧美精品| 欧美理论大片| 国产亚洲电影| 亚洲精品一区二区三区婷婷月| 亚洲一区二区三| 久久全国免费视频| 91久久在线| 亚洲欧美怡红院| 欧美jizz19性欧美| 国产女人aaa级久久久级| 在线免费观看成人网| 亚洲一二三区在线观看| 久久久亚洲影院你懂的| 亚洲精品欧美专区| 欧美一级播放| 欧美日韩八区| 伊人成人开心激情综合网| 亚洲免费在线观看视频| 欧美插天视频在线播放| 亚洲一区精彩视频| 欧美成va人片在线观看| 国产伪娘ts一区| 亚洲四色影视在线观看| 美女网站久久| 香蕉乱码成人久久天堂爱免费| 欧美久久99| 亚洲国产欧美一区|