Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
信號
|
371
傳送一個信號給一整個行程群組
另一個方便的函式讓你得以輕易地把一個信號傳送給特定行程群組中的所有行程,因此
對行程群組識別碼取負值以及使用
kill()
也被視為太複雜:
#include <signal.h>
int killpg (int pgrp, int signo);
此呼叫:
killpg (pgrp, signo);
等效於下面的呼叫:
kill (-pgrp, signo);
即使
pgrp
的值為
0
,以上的說明仍為真,此狀況下,
killpg()
會把信號
signo
傳送給進
行調用之行程所屬群組中的每個行程。
執行成功時,
killpg()
會傳回
0
。執行失敗時,則會傳回
-1
並把
errno
設定為下面其中
一個值:
EINVAL
signo
指定了無效的信號。
EPERM
進行調用之行程的權限不足以把一個信號傳送給所要求的任何行程。
ESRCH
pgrp
所表示的行程群組並不存在。
可再進入性
當核心引發了一個信號時,行程可能正在任何地方執行程式碼。舉例來說,它可能正在
進行一個重要的運算,如果遭到中斷,將會在行程中留下不一致的狀態—例如,一個資
料結構只被更新了一半,或是一項計算僅完成了一部分。行程甚至可能正在處理另一個
信號。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812