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
相關文章
- C語言alarm()函式:設定訊號傳送鬧鐘C語言函式
- QT之靜態函式傳送訊號QT函式
- C語言pause()函式:讓程式暫停直到訊號出現C語言函式
- QT槽函式獲取訊號傳送物件QT函式物件
- C語言sigemptyset()函式:初始化訊號集C語言函式
- C語言函式手冊:c語言庫函式大全|C語言標準函式庫|c語言常用函式查詢C語言函式
- C語言getpwnam()函式:從密碼檔案中取得指定賬號的資料C語言函式密碼
- C語言的函式C語言函式
- 【C語言】函式的概念和函式的呼叫(引數傳遞)C語言函式
- linux下傳送email的c語言程式碼(轉)LinuxAIC語言
- C語言 execve()函式C語言函式
- C語言常用函式C語言函式
- 數字訊號處理c語言程式集C語言
- C語言函式sscanf()的用法C語言函式
- C語言qsort函式的使用C語言函式
- C語言getgroups()函式:獲取組程式碼函式C語言函式
- C語言setgroups()函式:設定組程式碼函式C語言函式
- C語言 itoa函式及atoi函式C語言函式
- [ASM C/C++] C語言的main 函式ASMC++C語言AI函式
- C語言函式呼叫棧C語言函式
- 詳解C語言函式C語言函式
- tmpnam() - C語言庫函式C語言函式
- tmpfile() - C語言庫函式C語言函式
- C語言時間函式C語言函式
- c語言函式庫(轉)C語言函式
- 08. C語言函式C語言函式
- C語言基礎函式C語言函式
- C語言 函式指標C語言函式指標
- C語言——使用函式輸出指定範圍內的Fibonacci數C語言函式
- emscripten、 WebAssembly,傳遞字串給c函式Web字串函式
- C語言symlink()函式:建立檔案符號連線C語言函式符號
- C語言庫函式及示例C語言函式
- C語言解讀assert函式C語言函式
- C#語言函式遞迴C#函式遞迴
- C語言 sizeof函式詳解C語言函式
- C語言標準函式庫C語言函式
- c#語言-高階函式C#函式
- e語言自動傳送訊息【win11】