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系統程式設計 第二版
184
|
第五章
getpgid()
會傳回
pid
所指定之行程的行程群組識別碼。如果
pid
的值為
0
,則會使用當
前行程的行程群組識別碼。發生錯誤時,則會傳回
-1
並把
errno
設定成
ESRCH
,這是唯
一的可能值,代表
pid
是一個無效的行程識別碼。
如同
getsid()
getpgid()
主要用於診斷之目的:
pid_t pgid;
pgid = getpgid (0);
if (pgid ==
1)
perror ("getpgid"); /* 應該不可能 */
else
printf ("My process group id=%d\n", pgid);
過時的行程群組函式
Linux 支援了兩個來自 BSD 之較舊型的介面,用於操作或取得行程群組識別碼。因為它
們的用途不如先前所探討的系統呼叫,新的程式只應該在迫切需要移植性的時候使用它
們。
setpgrp()
可用於設定行程群組識別碼:
#include <unistd.h>
int setpgrp (void);
如下的調用:
if (setpgrp () ==
1)
perror ("setpgrp");
等效於如下的調用:
if (setpgid (0,0) ==
1)
perror ("setpgid");
以上兩種調用會試圖把當前行程指定給「識別碼跟當前行程之 pid 相同的」行程群組,
調用成功會傳回
0
,調用失敗會傳回
-1
setpgid()
errno
的所有可能值皆可應用於
setpgrp()
(但是
ERSCH
除外)。
同樣的,
getpgrp()
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