C語言kill()函式:傳送訊號給指定的程式
相關函式:raise, signal
標頭檔案:#include <sys/types.h> #include <signal.h>
定義函式:int kill(pid_t pid, int sig);
函式說明:kill()可以用來送引數sig 指定的訊號給引數pid 指定的程式。引數pid 有幾種情況:
1、pid>0 將訊號傳給程式識別碼為pid 的程式.
2、pid=0 將訊號傳給和目前程式相同程式組的所有程式
3、pid=-1 將訊號廣播傳送給系統內所有的程式
4、pid<0 將訊號傳給程式組識別碼為pid 絕對值的所有程式引數 sig 代表的訊號編號可參考附錄D
返回值:執行成功則返回0, 如果有錯誤則返回-1.
錯誤程式碼:
1、EINVAL 引數sig 不合法
2、ESRCH 引數pid 所指定的程式或程式組不存在
3、EPERM 許可權不夠無法傳送訊號給指定程式
範例
#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));
}
}
執行:
sen signal to child process(3170) Hi I am child process! child process receive
signal 6
標頭檔案:#include <sys/types.h> #include <signal.h>
定義函式:int kill(pid_t pid, int sig);
函式說明:kill()可以用來送引數sig 指定的訊號給引數pid 指定的程式。引數pid 有幾種情況:
1、pid>0 將訊號傳給程式識別碼為pid 的程式.
2、pid=0 將訊號傳給和目前程式相同程式組的所有程式
3、pid=-1 將訊號廣播傳送給系統內所有的程式
4、pid<0 將訊號傳給程式組識別碼為pid 絕對值的所有程式引數 sig 代表的訊號編號可參考附錄D
返回值:執行成功則返回0, 如果有錯誤則返回-1.
錯誤程式碼:
1、EINVAL 引數sig 不合法
2、ESRCH 引數pid 所指定的程式或程式組不存在
3、EPERM 許可權不夠無法傳送訊號給指定程式
範例
#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));
}
}
執行:
sen signal to child process(3170) Hi I am child process! child process receive
signal 6
相關文章
- QT之靜態函式傳送訊號QT函式
- QT槽函式獲取訊號傳送物件QT函式物件
- C語言的函式C語言函式
- 【C語言】函式的概念和函式的呼叫(引數傳遞)C語言函式
- C語言——使用函式輸出指定範圍內的Fibonacci數C語言函式
- C語言常用函式C語言函式
- C語言 execve()函式C語言函式
- C語言函式sscanf()的用法C語言函式
- C語言qsort函式的使用C語言函式
- 08. C語言函式C語言函式
- C語言 函式指標C語言函式指標
- C語言基礎函式C語言函式
- C語言函式呼叫棧C語言函式
- 亞馬遜-使用買家賬號給指定的店鋪傳送訊息,機器人操作。亞馬遜機器人
- emscripten、 WebAssembly,傳遞字串給c函式Web字串函式
- C語言庫函式及示例C語言函式
- C語言解讀assert函式C語言函式
- C#語言函式遞迴C#函式遞迴
- c語言函式指標的定義C語言函式指標
- C語言函式傳遞指標引數的問題詳解C語言函式指標
- 實驗3 c語言函式應用程式設計C語言函式程式設計
- 實驗3 C語言函式應用程式設計C語言函式程式設計
- C語言函式指標與回撥用函式C語言函式指標
- C語言巨集和函式淺析C語言函式
- C 語言回撥函式詳解函式
- c語言快速排序(庫函式使用)C語言排序函式
- c語言學習筆記===函式C語言筆記函式
- C語言有關函式淺析C語言函式
- C++的函數語言程式設計C++函數程式設計
- c語言是如何處理函式呼叫的?C語言函式
- C語言相關的基礎字串函式C語言字串函式
- 【C語言】常用的字串函式及相關函式的自我實現C語言字串函式
- e語言自動傳送訊息【win11】
- 實驗3_C語言函式應用程式設計C語言函式程式設計
- C語言 將函式(有參、無參)作為引數傳遞C語言函式
- C 語言實現泛型 swap 函式泛型函式
- 包含min函式的棧(劍指offer)---C語言函式C語言
- c語言獲取陣列長度的函式C語言陣列函式
- C語言-字串函式的實現(五)之strstrC語言字串函式