Linux下Kill函式用法

2021-06-27 09:14:04 字數 1525 閱讀 5298

[ kill ]功能描述:

用於向任何程序組或程序傳送訊號。

1#include 

<

sys/

types.h

>23

#include 

<

signal.h

>45

intkill(pid_t pid, 

intsig);67

引數: 

pid:可能選擇有以下四種

1. pid大於零時,pid是訊號欲送往的程序的標識。

2. pid等於零時,訊號將送往所有與呼叫kill()的那個程序屬同乙個使用組的程序。

3. pid等於-1時,訊號將送往所有呼叫程序有權給其傳送訊號的程序,除了程序1(init)。

4. pid小於-1時,訊號將送往以-pid為組標識的程序。

sig:準備傳送的訊號**,假如其值為零則沒有任何訊號送出,但是系統會執行錯誤檢查,通常會利用sig值為零來檢驗某個程序是否仍在執行。

返回值說明: 成功執行時,返回0。失敗返回-1,errno被設為以下的某個值 einval:指定的信號碼無效(引數 sig 不合法) eperm;許可權不夠無法傳送訊號給指定程序 esrch:引數 pid 所指定的程序或程序組不存在

1#include 

<

sys/

wait.h

>

2#include 

<

sys/

types.h

>

3#include 

<

stdio.h

>

4#include 

<

stdlib.h

>

5#include 

<

signal.h

>67

intmain( 

void)8

19else

if( 0==

childpid )

2025

else

2637

else

384142}

43}4445

exit(exit_success);46}

47//

-----------------

48[root@localhost src]# gcc killer.c

49[root@localhost src]# ./a.

out50

in child process

514545

killed

在確信fork呼叫成功後,子程序睡眠100秒,然後退出。

同時父程序在子程序上呼叫waitpid函式,但使用了wnohang選項(

wnohang如果沒有任何已經結束的子程序則馬上返回,不予以等

待),所以呼叫waitpid後立即返回。父程序接著殺死子程序,如果kill執行失敗,

返回-1,否這返回0。如果kill執行失敗,父程序第二次呼叫waitpid,

保證他在子程序退出後再停止執行。否則父程序顯示一條成功訊息後退出。

Linux下Kill函式用法

kill 功能描述 用於向任何程序組或程序傳送訊號。標頭檔案用法 1 include sys types.h 23 include signal.h 45 intkill pid t pid,intsig 引數 pid 可能選擇有以下四種 1.pid大於零時,pid是訊號欲送往的程序的標識。2.pi...

Linux下kill函式用法

kill 功能描述 用於向任何程序組或程序傳送訊號。標頭檔案用法 include include int kill pid t pid,int sig 引數 pid 可能選擇有以下四種 pid大於零時,pid是訊號欲送往的程序的標識。pid等於零時,訊號將送往所有與呼叫kill 的那個程序屬同乙個使...

Linux下的kill函式的用法

功能描述 用於向任何程序組或程序傳送訊號。標頭檔案用法 include include int kill pid t pid,int sig 引數 pid 可能選擇有以下四種 1.pid大於零時,pid是訊號欲送往的程序的標識。2.pid等於零時,訊號將送往所有與呼叫kill 的那個程序屬同乙個使用...