Daftar grup diberikan di bawah Groups
di /proc/
/status
; misalnya,
$ grep '^Groups' /proc/$$/status
Groups: 4 24 27 30 46 110 115 116 1000
Grup utama diberikan di bawah Gid
:
$ grep '^Gid' /proc/$$/status
Gid: 1000 1000 1000 1000
ps
juga mampu menampilkan grup dari suatu proses, seperti yang ditunjukkan oleh jawaban lainnya.
Untuk id grup efektif, id grup nyata, dan id grup tambahan (seperti yang digunakan untuk kontrol akses):
ps -o gid,rgid,supgid -p "$pid"
gid
dan rgid
cukup portabel, supgid
kurang begitu (semua 3 akan tersedia dengan ps
from procps seperti yang biasanya ditemukan pada sistem berbasis Linux).
group
, rgroup
dan supgrp
dapat digunakan untuk menerjemahkan id grup menjadi nama grup, tetapi perhatikan bahwa untuk id grup yang memiliki beberapa nama grup yang sesuai, hanya satu yang akan ditampilkan (sama seperti untuk ls -l
vs ls -n
atau apa pun yang berhubungan dengan nama pengguna atau grup berdasarkan id).
Untuk id grup proses (seperti yang digunakan untuk kontrol tugas terminal):
ps -o pgid -p "$pid"
Untuk menyimpannya ke dalam variabel:
pgid=$(($(ps -o pgid= -p "$pid")))
Menggunakan ps
:
$ ps -o group,supgrp $$
GROUP SUPGRP
muru adm,cdrom,sudo,dip,www-data,plugdev,lpadmin,mlocate,sambashare,lxd,libvirtd,docker,muru
Dari man ps
, kolom keluaran yang digunakan untuk -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).