killpg() - Unix,Linux 系統呼叫 - 技術教學
Tutorials Point


  Unix 初學者指南
  Unix Shell 程式設計
  高階 Unix
  Unix 有用參考
  Unix 有用資源
  精選閱讀

版權所有 © 2014 tutorialspoint



  首頁     參考     討論論壇     關於 TP  

killpg() - Unix,Linux 系統呼叫


previous next AddThis Social Bookmark Button

廣告

名稱

killpg - 向程序組傳送訊號

語法

#include <signal.h>

int killpg(int pgrp, int sig);

描述

killpg() 將訊號 sig 傳送到程序組 pgrp。有關訊號列表,請參閱 signal(7)。如果 pgrp 為 0,則 killpg() 將訊號傳送到傳送程序的程序組。

(POSIX 規定:如果 pgrp 小於或等於 1,則行為未定義。)

要使程序有權傳送訊號,它必須要麼是特權的(在 Linux 中:具有 CAP_KILL 功能),要麼傳送程序的真實或有效使用者 ID 必須等於目標程序的真實或已儲存的 set-user-ID。對於 SIGCONT,當傳送和接收程序屬於同一個會話時就足夠了。

返回值

成功時,返回零。失敗時,返回 -1,並且 errno 被相應地設定。

錯誤

標籤描述
EINVAL Sig 不是有效的訊號編號。
EPERM 程序無權向任何目標程序傳送訊號。
ESRCH pgrp 指定的程序組中找不到任何程序。
ESRCH 程序組被指定為 0,但傳送程序沒有程序組。

備註

BSD 型別系統和 System V 型別系統之間的許可權檢查存在各種差異。有關 kill(),請參閱 POSIX 論證。POSIX 未提及的一個差異涉及返回值 EPERM:BSD 文件說明當對至少一個目標程序的許可權檢查失敗時,不傳送任何訊號並返回 EPERM,而 POSIX 文件僅在對所有目標程序的許可權檢查失敗時才返回 EPERM。

符合標準

SVr4、4.4BSD(killpg() 函式呼叫首次出現在 4BSD 中)、POSIX.1-2001。

參見



previous next Printer Friendly

廣告


  

廣告



廣告