色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看


信號發送函數kill()和raise()

分享到:
           

    本文關鍵字: 信號發送函數,kill(),raise()

    kill()函數同讀者熟知的kill系統命令一樣,可以發送信號給進程或進程組(實際上,kill系統命令只是kill()函數的一個用戶接口)。這里需要注意的是,它不僅可以中止進程(實際上發出SIGKILL信號),也可以向進程發送其他信號。

    與kill()函數不同的是,raise()函數允許進程向自身發送信號。

    表1列出了kill()函數的語法要點。

表1 kill()函數語法要點

所需頭文件 #include <signal.h>
#include <sys/types.h>
函數原型 int kill(pid_t pid, int sig)
函數傳入值 pid 正數:要發送信號的進程號
0:信號被發送到所有和當前進程在同一個進程組的進程
1:信號發給所有的進程表中的進程(除了進程號大的進程外)
<-1:信號發送給進程組號為-pid的每一個進程
sig:信號
函數返回值 成功:0
出錯:-1

    表2列出了raise()函數的語法要點。

表2 raise()函數語法要點

所需頭文件 #include <signal.h>
#include <sys/types.h>
函數原型 int raise(int sig)
函數傳入值 sig:信號
函數返回值 成功:0
出錯:-1

    下面的示例首先使用fork()創建了一個子進程,接著為了保證子進程不在父進程調用kill()之前退出,在子進程中使用raise()函數向自身發送SIGSTOP信號,使子進程暫停。接下來在父進程中調用kill()向子進程發送信號,在該示例中使用的是SIGKILL,讀者可以使用其他信號進行練習。

    /* kill_raise.c */
    #include <stdio.h>
    #include <stdlib.h>
    #include <signal.h>
    #include <sys/types.h>
    #include <sys/wait.h>

    int main()
    {
        pid_t pid;
        int ret;

        /* 創建一個子進程 */
        if ((pid = fork()) < 0)
        {
            printf("Fork error\n");
            exit(1);
        }

        if (pid == 0)
        {
            /* 在子進程中使用raise()函數發出SIGSTOP信號,使子進程暫停 */
            printf("Child(pid : %d) is waiting for any signal\n", getpid());
            raise(SIGSTOP);
            exit(0);
        }
        else
        {
            /* 在父進程中收集子進程發出的信號,并調用kill()函數進行相應的操作 */
            if ((waitpid(pid, NULL, WNOHANG)) == 0)
            {
                if ((ret = kill(pid, SIGKILL)) == 0)
                {
                    printf("Parent kill %d\n",pid);
                }
            }

            waitpid(pid, NULL, 0);
            exit(0);
        }
    }

    該程序運行結果如下:

    $ ./kill_raise
    Child(pid : 4877) is waiting for any signal
    Parent kill 4877

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱點鏈接:

   1、Linux下的信號機制
   2、有名管道(FIFO)
   3、標準流管道
   4、無名管道系統調用
   5、Linux下進程間通信方式-管道

更多新聞>> 

主站蜘蛛池模板: 亚洲第一成人,一区二区 | GOGOGO日本免费观看电视 | 日本一卡二卡四卡无卡乱码视频免费 | 真实国产乱子伦对白视频 | 浴室人妻的情欲hd三级国产 | 一个人免费在线观看动漫视频www | 亚洲不卡高清 | 九色porny丨自拍视频 | 亚洲色图片区 | 天天做天天爱天天综合网2021 | 少妇搡BBBB搡BBB搡毛茸茸 | 欧美大肥婆大肥BBBBB | 免费高清毛片无遮挡 | 激情久爱免费视频在线 | 成年女人毛片免费视频喷潮 | 久久人人97超碰超碰窝窝 | 无码精品不卡一区二区三区 | 在线久热 | 亚洲多毛妓女毛茸茸的 | 国产激情视频一区二区三区 | 久久久久青草大香综合精品 | 最近2019中文字幕大全第二页 | 在线不卡日本V二区到六区 脱了美女内裤猛烈进入 | 国产人妻高清国产拍精品 | 男女下面一进一出免费视频网站 | 国产精品久久久久无码人妻 | 女人爽到高潮的免费AAAA | 天天在线看无码AV片 | 欧美男同志网站 | 免费久久网 | 亚洲AV无码国产精品色 | 一区一区三区产品乱码亚洲 | 中文字幕一区二区三区波多野结衣 | 久久久无码精品亚洲日韩蜜臀浪潮 | 被强行灌满精子的少妇 | 国产午夜成人无码免费看 | 大地资源在线视频资源 | 国产综合久久久久久 | 麻豆免费高清在线观看 | 亚洲制服丝中文字幕 | 国产又色又爽又黄的A片 |