ruby process pid

ruby - ¿Cuál es la diferencia entre un proceso ''pid, ppid, uid, euid, gid y egid?



process (2)

Contexto: Obtengo el ID de proceso actual de Ruby.

Process.pid #=> 95291 Process.ppid #=> 95201 Process.uid #=> 501 Process.gid #=> 20 Process.euid #=> 501 Process.egid #=> 20


En orden:

  • pid : El es el ID de proceso (PID) del proceso en el que llama al método Process.pid .
  • ppid : El PID del proceso padre (el proceso que generó el actual). Por ejemplo, si ejecuta ruby test.rb en un shell bash, PPID en ese proceso sería el PID de Bash.
  • uid : el ID de UNIX del usuario con el que se está ejecutando el proceso.
  • euid : el ID de usuario efectivo con el que se está ejecutando el proceso. El EUID determina qué está permitido hacer un programa, en función de lo que el usuario con este UID puede hacer. Normalmente es lo mismo que uid , pero puede ser diferente con comandos como sudo .
  • gid : el ID de grupo de UNIX con el que se ejecuta el programa.
  • egid : Me gusta euid , pero para grupos.

PID:

En Linux, un ejecutable almacenado en el disco se llama un programa, y ​​un programa cargado en la memoria y en ejecución se llama un proceso. Cuando se inicia un proceso, se le asigna un número único denominado ID de proceso (PID) que identifica ese proceso en el sistema. Si alguna vez necesita finalizar un proceso, por ejemplo, puede referirse a él por su PID.

PPID:

Además de un ID de proceso único, a cada proceso se le asigna un ID de proceso principal (PPID) que indica qué proceso lo inició. El PPID es el PID del padre del proceso.

Por ejemplo, si process1 con un PID de 101 inicia un proceso llamado process2, entonces se le dará a P2 un PID único, como 3240, pero se le dará el PPID de 101. Es una relación padre-hijo. Un solo proceso padre puede generar varios procesos secundarios, cada uno con un PID único, pero todos compartiendo el mismo PPID.

UID:

Los sistemas operativos similares a Unix identifican a los usuarios dentro del kernel por un valor llamado identificador de usuario, a menudo abreviado como UID o ID de usuario. El UID, junto con el GID y otros criterios de control de acceso, se utiliza para determinar a qué recursos del sistema puede acceder un usuario. El archivo de contraseñas asigna nombres de usuario textuales a los UID, pero en el kernel, solo se usan los UID.

EUID:

El UID efectivo (euid) de un proceso se usa para la mayoría de las verificaciones de acceso. También se utiliza como propietario de los archivos creados por ese proceso.

GID:

Un identificador de grupo, a menudo abreviado a GID, es un valor numérico utilizado para representar un grupo específico. El rango de valores para un GID varía entre diferentes sistemas; como mínimo, un GID puede estar entre 0 y 32.767, con una restricción: el grupo de inicio de sesión para el superusuario debe tener GID 0.

EGID:

El GID efectivo (egid) de un proceso también afecta el control de acceso y también puede afectar la creación de archivos, dependiendo de la semántica de la implementación específica del kernel en uso y posiblemente de las opciones de montaje utilizadas.

Consulte estos artículos para más información:

  1. ¿Qué son PID y PPID?
  2. Significado de PID, PPID y TGID
  3. Identificador de usuario
  4. Identificador de grupo