Die Liste der Gruppen finden Sie unter Groups
in /proc/
/status
; zum Beispiel
$ grep '^Groups' /proc/$$/status
Groups: 4 24 27 30 46 110 115 116 1000
Die Primärgruppe ist unter Gid
angegeben :
$ grep '^Gid' /proc/$$/status
Gid: 1000 1000 1000 1000
ps
ist auch in der Lage, die Gruppen eines Prozesses anzuzeigen, wie die anderen Antworten zeigen.
Für die effektive Gruppen-ID, echte Gruppen-ID und zusätzliche Gruppen-IDs (wie sie für die Zugriffskontrolle verwendet werden):
ps -o gid,rgid,supgid -p "$pid"
gid
und rgid
sind ziemlich portabel, supgid
weniger (alle 3 wären mit dem ps
verfügbar von procps, wie es typischerweise auf Linux-basierten Systemen zu finden ist).
group
, rgroup
und supgrp
kann verwendet werden, um Gruppen-IDs in Gruppennamen zu übersetzen, aber beachten Sie, dass für Gruppen-IDs, die mehrere entsprechende Gruppennamen haben, nur einer davon angezeigt wird (wie bei ls -l
). gegenüber ls -n
oder alles, was mit Benutzer- oder Gruppennamen auf der Grundlage von IDs zu tun hat).
Für die Prozessgruppen-ID (wie sie für die Terminal-Job-Steuerung verwendet wird):
ps -o pgid -p "$pid"
Um es in einer Variablen zu speichern:
pgid=$(($(ps -o pgid= -p "$pid")))
Mit ps
:
$ ps -o group,supgrp $$
GROUP SUPGRP
muru adm,cdrom,sudo,dip,www-data,plugdev,lpadmin,mlocate,sambashare,lxd,libvirtd,docker,muru
Ab man ps
, die für -o
verwendeten Ausgabespalten :
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).