欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中操作進程信號的相關(guān)函數(shù)使用詳解

 更新時間:2015年09月02日 10:54:59   投稿:goldensun  
這篇文章主要介紹了C語言中操作進程信號的相關(guān)函數(shù)使用詳解,分別是signal()函數(shù)和kill()函數(shù)的用法,需要的朋友可以參考下

C語言signal()函數(shù):設(shè)置信號處理方式
頭文件:

#include <signal.h>

定義函數(shù):

void (*signal(int signum, void(* handler)(int)))(int);

函數(shù)說明:signal()會依參數(shù)signum 指定的信號編號來設(shè)置該信號的處理函數(shù). 當(dāng)指定的信號到達時就會跳轉(zhuǎn)到參數(shù)handler 指定的函數(shù)執(zhí)行. 如果參數(shù)handler 不是函數(shù)指針, 則必須是下列兩個常數(shù)之一:
1、SIG_IGN 忽略參數(shù)signum 指定的信號.
2、SIG_DFL 將參數(shù)signum 指定的信號重設(shè)為核心預(yù)設(shè)的信號處理方式.

關(guān)于信號的編號和說明, 請參考附錄D

返回值:返回先前的信號處理函數(shù)指針, 如果有錯誤則返回SIG_ERR(-1).

附加說明:在信號發(fā)生跳轉(zhuǎn)到自定的 handler 處理函數(shù)執(zhí)行后, 系統(tǒng)會自動將此處理函數(shù)換回原來系統(tǒng)預(yù)設(shè)的處理方式, 如果要改變此操作請改用sigaction().

C語言kill()函數(shù):傳送信號給指定的進程
頭文件:

#include <sys/types.h>  #include <signal.h>

定義函數(shù):int kill(pid_t pid, int sig);

函數(shù)說明:kill()可以用來送參數(shù)sig 指定的信號給參數(shù)pid 指定的進程。參數(shù)pid 有幾種情況:
1、pid>0 將信號傳給進程識別碼為pid 的進程.
2、pid=0 將信號傳給和目前進程相同進程組的所有進程
3、pid=-1 將信號廣播傳送給系統(tǒng)內(nèi)所有的進程
4、pid<0 將信號傳給進程組識別碼為pid 絕對值的所有進程參數(shù) sig 代表的信號編號可參考附錄D

返回值:執(zhí)行成功則返回0, 如果有錯誤則返回-1.

錯誤代碼:
1、EINVAL 參數(shù)sig 不合法
2、ESRCH 參數(shù)pid 所指定的進程或進程組不存在
3、EPERM 權(quán)限不夠無法傳送信號給指定進程

范例

#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
main()
{
  pid_t pid;
  int status;
  if(!(pid= fork()))
  {
    printf("Hi I am child process!\n");
    sleep(10);
    return;
  }
  else
  {
    printf("send signal to child process (%d) \n", pid);
    sleep(1);
    kill(pid, SIGABRT);
    wait(&status);
    if(WIFSIGNALED(status))
      printf("chile process receive signal %d\n", WTERMSIG(status));
  }
}

執(zhí)行:

sen signal to child process(3170) Hi I am child process! child process receive
signal 6

相關(guān)文章

  • C++深度優(yōu)先搜索的實現(xiàn)方法

    C++深度優(yōu)先搜索的實現(xiàn)方法

    這篇文章主要介紹了C++深度優(yōu)先搜索的實現(xiàn)方法,是數(shù)據(jù)結(jié)構(gòu)中非常重要的一種算法,需要的朋友可以參考下
    2014-08-08
  • C++右值引用與move和forward函數(shù)的使用詳解

    C++右值引用與move和forward函數(shù)的使用詳解

    為了支持移動操作,新標(biāo)準(zhǔn)引入了一種新的引用類型——右值引用(rvalue reference)。所謂右值引用就是必須綁定到右值的引用,這篇文章主要介紹了C++右值引用與move和forward的使用
    2022-08-08
  • C++中訪問權(quán)限的示例詳解

    C++中訪問權(quán)限的示例詳解

    C++通過 public、protected、private 三個關(guān)鍵字來控制成員變量和成員函數(shù)的訪問權(quán)限(也稱為可見性),下面這篇文章主要給大家介紹了關(guān)于C++中訪問權(quán)限的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • C語言中的socket編程實例代碼

    C語言中的socket編程實例代碼

    這篇文章主要介紹了如何用C語言實現(xiàn)socket編程,文中代碼非常詳細,供大家學(xué)習(xí)參考,感興趣的朋友可以了解下
    2020-06-06
  • C++圖解單向鏈表類模板和iterator迭代器類模版詳解

    C++圖解單向鏈表類模板和iterator迭代器類模版詳解

    這篇文章主要為大家詳細介紹了C++圖解單向鏈表類模板和iterator迭代器類模版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C++ LeetCode1805字符串不同整數(shù)數(shù)目

    C++ LeetCode1805字符串不同整數(shù)數(shù)目

    這篇文章主要為大家介紹了C++ LeetCode1805字符串不同整數(shù)數(shù)目,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • C語言示例講解while循環(huán)語句的用法

    C語言示例講解while循環(huán)語句的用法

    在不少實際問題中有許多具有規(guī)律性的重復(fù)操作,因此在程序中就需要重復(fù)執(zhí)行某些語句。一組被重復(fù)執(zhí)行的語句稱之為循環(huán)體,C語言while語句可以是單個語句,也可以是一個語句塊,其條件可以是任意表達式,true是任意非零值,當(dāng)條件為真時,循環(huán)進行迭代
    2022-06-06
  • C++實現(xiàn)N個骰子的點數(shù)算法

    C++實現(xiàn)N個骰子的點數(shù)算法

    這篇文章主要介紹了C++實現(xiàn)N個骰子的點數(shù)算法,用兩種方法實現(xiàn)了該功能,是非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • Qt項目實戰(zhàn)之實現(xiàn)多文本編輯器

    Qt項目實戰(zhàn)之實現(xiàn)多文本編輯器

    這篇文章主要為大家詳細介紹了如何利用Qt實現(xiàn)簡易的多文本編輯器,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以了解一下
    2023-03-03
  • 基于C語言實現(xiàn)簡單的掃雷小游戲

    基于C語言實現(xiàn)簡單的掃雷小游戲

    這篇文章主要為大家詳細介紹了基于C語言實現(xiàn)簡單的掃雷小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論