linux kill函式用法

2021-07-09 01:42:28 字數 1541 閱讀 3957

[ 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多個程序,這些程序包含共同的關鍵字,可以用一條命令kill掉它們。ps aux grep common cut c 9 15 xargs kill 9 管道符 用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道符聯接起來的幾個命令 ps aux 檢視所有...

Linux kill多個程序

經常需要kill多個程序,這些程序包含共同的關鍵字,可以用一條命令kill掉它們。ps aux grep common cut c 9 15 xargs kill 9 管道符 用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道符聯接起來的幾個命令 ps aux 檢視所有...

linux Kill 多個程序

文章1 經常需要kill多個程序,這些程序包含共同的關鍵字,可以用一條命令kill掉它們。ps aux grep common cut c 9 15 xargs kill 9 管道符 用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。下面說說用管道符聯接起來的幾個命令 ps aux ...