C言語システムコール-setpgid

setpdid

概要

setpgidは指定プロセスのプロセスグループIDを指定します。

ただし、プロセス(セッション)リーダーはプロセスグループを変更することはできません。


プロセスグループ(Process Group)とは、POSIX準拠のオペレーティングシステムにおいて、1個以上のプロセスの集まりのことです。

プロセスグループでは、プロセスグループリーダーとなっているプロセスのプロセスIDと同じ値をプロセスグループIDとして識別します。

プロセスグループは主に、シグナルを送信してグループの全プロセスを制御するために使用されます。


サンプルプログラム


#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>

int
main(void)
{
    int rc = 0;

    rc = setpgid(0, 0);
    if(rc < 0){
        printf("Error: setpgid(%d) %s\n", errno, strerror(errno));
        return(-1);
    }

    /* プロセスグループ変更後の処理 */

    return(0);
}

関連ページ