Контекст: я получаю текущий идентификатор процесса Ruby.
Process.pid #=> 95291
Process.ppid #=> 95201
Process.uid #=> 501
Process.gid #=> 20
Process.euid #=> 501
Process.egid #=> 20
Контекст: я получаю текущий идентификатор процесса Ruby.
Process.pid #=> 95291
Process.ppid #=> 95201
Process.uid #=> 501
Process.gid #=> 20
Process.euid #=> 501
Process.egid #=> 20
В порядке:
pid
: Идентификатор процесса (PID) процесса, к которому вы вызываете метод Process.pid
.ppid
: PID родительского процесса (процесс, который породил текущий). Например, если вы запустите ruby test.rb
в оболочке bash, PPID в этом процессе будет PID из Bash.uid
: идентификатор UNIX пользователя, в котором выполняется этот процесс.euid
: эффективный идентификатор пользователя, с которым работает этот процесс. EUID определяет, какую программу разрешено делать, исходя из того, что разрешено пользователю с этим UID. Обычно это те же, что и uid
, но могут отличаться от команд типа sudo
.gid
: идентификатор группы UNIX, в котором работает программа.egid
: Как euid
, но для групп.PID:
В Linux исполняемый файл, хранящийся на диске, называется программой, а программа, загружаемая в память и работающая, называется процессом. Когда процесс запускается, ему присваивается уникальный номер, называемый идентификатором процесса (PID), который идентифицирует этот процесс в системе. Если вам когда-либо понадобится убить процесс, например, вы можете ссылаться на него своим ПИД.
PPID:
В дополнение к уникальному идентификатору процесса каждому процессу присваивается идентификатор родительского процесса (PPID), который сообщает, какой процесс был запущен. PPID является PID родительского процесса.
Например, если process1 с PID из 101 запускает процесс с именем process2, то process2 будет предоставлен уникальный PID, такой как 3240, но ему будет присвоен PPID 101. Его отношение родитель-потомок. Один родительский процесс может порождать несколько дочерних процессов, каждый из которых имеет уникальный PID, но все используют один и тот же PPID.
UID:
Unix-подобные операционные системы определяют пользователей в ядре значением, называемым идентификатором пользователя, часто сокращенным до UID или идентификатора пользователя. UID, наряду с GID и другими критериями контроля доступа, используется для определения того, какие системные ресурсы пользователь может получить. Файл паролей сопоставляет текстовые имена пользователей с UID, но в ядре используется только UID.
EUID:
Для большинства проверок доступа используется эффективный UID (euid) процесса. Он также используется как владелец файлов, созданных этим процессом.
GID:
Идентификатор группы, часто сокращенный до GID, представляет собой числовое значение, используемое для представления конкретной группы. Диапазон значений для GID варьируется в зависимости от разных систем; по крайней мере, GID может быть между 0 и 32 767 с одним ограничением: группа входа для суперпользователя должна иметь GID 0.
EGID:
Эффективный GID (egid) процесса также влияет на управление доступом и может также влиять на создание файла, в зависимости от семантики используемой конкретной реализации ядра и, возможно, используемых параметров монтирования.
Обратитесь к этим статьям за дополнительной информацией: