Seznam skupin je uveden pod Groups
v /proc/
/status
; například
$ grep '^Groups' /proc/$$/status
Groups: 4 24 27 30 46 110 115 116 1000
Primární skupina je uvedena pod Gid
:
$ grep '^Gid' /proc/$$/status
Gid: 1000 1000 1000 1000
ps
je také schopen zobrazit skupiny procesu, jak naznačují ostatní odpovědi.
Pro skutečné ID skupiny, skutečné ID skupiny a doplňková ID skupiny (jak se používá pro řízení přístupu):
ps -o gid,rgid,supgid -p "$pid"
gid
a rgid
jsou poměrně přenosné, supgid
méně (všechny 3 by byly k dispozici s ps
z procps, které se obvykle vyskytují na systémech založených na Linuxu).
group
, rgroup
a supgrp
lze použít k překladu ID skupin na názvy skupin, ale mějte na paměti, že u ID skupin, která mají několik odpovídajících názvů skupin, se zobrazí pouze jeden z nich (stejně jako u ls -l
vs ls -n
nebo cokoli, co se zabývá jmény uživatelů nebo skupin na základě id).
Pro ID skupiny procesů (jak se používá pro řízení úlohy terminálu):
ps -o pgid -p "$pid"
Chcete-li jej uložit do proměnné:
pgid=$(($(ps -o pgid= -p "$pid")))
Pomocí ps
:
$ ps -o group,supgrp $$
GROUP SUPGRP
muru adm,cdrom,sudo,dip,www-data,plugdev,lpadmin,mlocate,sambashare,lxd,libvirtd,docker,muru
Od man ps
, výstupní sloupce používané pro -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).