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
23
demandé sur Joshua Pinter 2015-05-28 00:24:55

2 réponses

dans l'ordre:

  • pid : C'est L'ID de processus (PID) du processus que vous appelez la méthode Process.pid .
  • ppid : le PID du processus parent (le processus qui a donné naissance au processus courant). Par exemple, si vous lancez ruby 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 que uid , mais peut être différent avec des commandes comme sudo .
  • gid : L'identifiant du groupe UNIX sous lequel le programme est exécuté.
  • egid : comme euid , mais pour les groupes.
22
répondu Linuxios 2015-05-27 21:33:16

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:

  1. que sont les AIP et les AIP?
  2. sens de PID, PPID et TGID
  3. identificateur D'utilisateur
  4. Identificateur de groupe
8
répondu Bruce Wayne 2017-05-23 12:34:17