グループのリストは Groups
の下にあります /proc/
で /status
;たとえば、
$ grep '^Groups' /proc/$$/status
Groups: 4 24 27 30 46 110 115 116 1000
プライマリ グループは Gid
の下に表示されます :
$ grep '^Gid' /proc/$$/status
Gid: 1000 1000 1000 1000
ps
他の回答が示すように、プロセスのグループを表示することもできます。
有効なグループ ID、実際のグループ ID、および補助グループ ID (アクセス制御に使用される) について:
ps -o gid,rgid,supgid -p "$pid"
gid
と rgid
supgid
でかなり移植性があります 少ない (3 つすべてが ps
で利用可能) Linux ベースのシステムで通常見られる procps から)。
group
、 rgroup
と supgrp
グループ ID をグループ名に変換するために使用できますが、対応するグループ名が複数あるグループ ID の場合、そのうちの 1 つだけが表示されることに注意してください (ls -l
の場合と同じ) vs ls -n
または ID に基づいてユーザー名またはグループ名を処理するもの)。
プロセス グループ ID (ターミナル ジョブ制御に使用):
ps -o pgid -p "$pid"
変数に格納するには:
pgid=$(($(ps -o pgid= -p "$pid")))
ps
の使用 :
$ ps -o group,supgrp $$
GROUP SUPGRP
muru adm,cdrom,sudo,dip,www-data,plugdev,lpadmin,mlocate,sambashare,lxd,libvirtd,docker,muru
man ps
から 、-o
に使用される出力列 :
egid EGID effective group ID number of the process as a
decimal integer. (alias gid).
egroup EGROUP effective group ID of the process. This will be
the textual group ID, if it can be obtained and
the field width permits, or a decimal
representation otherwise. (alias group).
gid GID see egid. (alias egid).
group GROUP see egroup. (alias egroup).
supgid SUPGID group ids of supplementary groups, if any. See
getgroups(2).
supgrp SUPGRP group names of supplementary groups, if any. See
getgroups(2).