GNU/Linux >> Znalost Linux >  >> Linux

Určete, ve které skupině (skupinách) je běžící proces?

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).

Linux
  1. Jak zjistit, který proces vytváří soubor?

  2. Ujistěte se, že proces vždy běží?

  3. Linux – Jak zjistit, která Linuxová distribuce běží?

  1. Co je nepřerušitelný proces?

  2. Jak spustit proces ve vlastní skupině procesů?

  3. Který proces požírá ptys na mém linuxovém serveru?

  1. Jak zjistím, který běžící proces používá javu?

  2. Určete, který host běží na XEN:HVM nebo PV host

  3. Určení konkrétního procesoru, na kterém běží proces