Quelle est la différence entre un pid, un ppid, un uid, un euid, un gid et un egid?
Contexte: je suis l'actuel Ruby ID de processus.
Process.pid #=> 95291
Process.ppid #=> 95201
Process.uid #=> 501
Process.gid #=> 20
Process.euid #=> 501
Process.egid #=> 20
2 réponses
dans l'ordre:
-
pid
: C'est L'ID de processus (PID) du processus que vous appelez la méthodeProcess.pid
. -
ppid
: le PID du processus parent (le processus qui a donné naissance au processus courant). Par exemple, si vous lancezruby test.rb
dans un shell bash, PPID dans ce processus serait le PID de Bash. -
uid
: L'identifiant UNIX de l'utilisateur sous lequel le processus est exécuté. -
euid
: efficace ID utilisateur que le processus est en cours d'exécution en vertu de l'. L'EUID détermine ce qu'un programme est autorisé à faire, sur la base de ce que l'utilisateur avec cet UID est autorisé à faire. Généralement le même queuid
, mais peut être différent avec des commandes commesudo
. -
gid
: L'identifiant du groupe UNIX sous lequel le programme est exécuté. -
egid
: commeeuid
, mais pour les groupes.
PID:
sous Linux, un exécutable stocké sur un disque est appelé un programme, et un programme chargé en mémoire et tournant est appelé un processus. Lorsqu'un processus est lancé, il reçoit un numéro unique appelé "process ID" (PID) qui identifie ce processus au système. Si jamais vous avez besoin de tuer un processus, par exemple, vous pouvez le désigner par son PID.
PPID:
en plus d'un ID de processus unique, chaque processus reçoit un ID de processus parent (PPID) qui indique le processus qui l'a démarré. Le PPID est le PID du parent du processus.
par exemple, si process1 avec un PID de 101 démarre un processus nommé process2, alors process2 recevra un PID unique, tel que 3240, mais il recevra le PPID de 101. C'est une relation parent-enfant. Un processus monoparental peut engendrer plusieurs enfants processus, chacun avec un PID unique, mais tous partageant le même PPID.
UID:
les systèmes D'exploitation de type Unix identifient les utilisateurs dans le noyau par une valeur appelée identificateur d'utilisateur, souvent abrégé en UID ou identifiant D'utilisateur. L'UID, avec le GID et d'autres critères de contrôle d'accès, est utilisé pour déterminer les ressources du système auxquelles un utilisateur peut accéder. Le fichier de mots de passe permet d'associer des noms d'utilisateur textuels à des uid, mais le noyau, seuls les UID sont utilisés.
uid effectif:
L'UID efficace (euid) d'un processus est utilisé pour la plupart des contrôles d'accès. Il est également utilisé comme propriétaire pour les fichiers créés par ce processus.
GID:
Un identificateur de groupe, souvent abrégé en GID, est une valeur numérique utilisée pour représenter un groupe spécifique. La plage de valeurs pour un GID varie entre les différents systèmes; au minimum, un GID peut être entre 0 et 32.767, avec une restriction: le groupe de login pour le super-utilisateur doit avoir GID 0.
EGID:
le GID effectif (egid) d'un processus affecte également le contrôle d'accès et peut aussi affecter la création de fichiers, en fonction de la sémantique de l'implémentation spécifique du noyau en cours d'utilisation et éventuellement de la options de montage utilisées.
Consultez ces articles pour plus d'informations: