На моей машине ( тестирование Debian ), когда я делаю
ps aux | grep pam
Я получаю
orto 609 0.0 0.0 58532 2148 ? S 08:06 0:00 (sd-pam)
orto 5533 0.0 0.0 12724 1948 pts/1 S+ 16:51 0:00 grep pam
(sd-pam)
кажется странным названием для процесса. Читая этот форум , я вижу, что это имя специально установлено systemd. В исходном коде мы видим
/* The child's job is to reset the PAM session on
* termination */
/* This string must fit in 10 chars (i.e. the length
* of "/sbin/init"), to look pretty in /bin/ps */
rename_process("(sd-pam)");
Что значит красиво выглядеть /bin/ps
и почему выбирать, (sd-pam)
а не просто sd-pam
как имя? Заключение имени в скобки указывает на то, что в этом процессе есть что-то особенное, например, для потока ядра, например [kintegrityd]
.
ps
заключает учетное имя процесса в круглые скобки и печатает, что, если отображаемый процесс был переименован, еслиps
не удается найти процесс по его первоначальному имени, однако это, конечно, не объясняет , почему это делается вpam
исходном коде «S, который не имеет ничего общего сps
.systemd-cgls
?)Ответы:
Есть два случая:
(...)
См. Https://lists.freedesktop.org/archives/systemd-devel/2016-April/036322.html.
(sd-pam)
это особый случайисточник
Да, в этом есть что-то особенное. Это выдуманное имя, а не имя любого существующего двоичного файла. Другими словами, нигде нет файла "sd-pam"; этот процесс является форком PID 1.
Скобки, вероятно, должны указывать на это.
источник