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

getgroupsシステムコール

概要

getgroupsはプロセスの補助グループIDを取得します。

プロセスは実効グループIDに加えて、補助グループIDを最大で「NGROUPS_MAX」まで保持することができます。



サンプルプログラム


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

int
main(void)
{
    int cnt = 0;
    int groups = 0;
    gid_t list[NGROUPS_MAX] = {'¥0'};

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

    for(cnt = 0; cnt < groups; cnt++){
        printf("%d\n", (int)list[cnt]);
    }

    return(0);
}


関連ページ