Назад | Перейти на главную страницу

при запуске ps aux показывает uid вместо пользователей

Я использую Debian 5.03. 2.6.18. Когда я запускаю ps aux для просмотра запущенных процессов, некоторые из них показывают uid пользователя, а другие показывают фактическое имя пользователя. Однако, если я запустил top, он покажет правильное имя пользователя, а не его uid. Почему это происходит и стоит ли мне беспокоиться?

1001      1877  0.0  0.7  16492  1924 ?        S    12:14   0:00 /usr/bin/php-cgi
1001      1878  0.0  0.7  16492  1924 ?        S    12:14   0:00 /usr/bin/php-cgi
1001      1879  0.0  0.7  16492  1924 ?        S    12:14   0:00 /usr/bin/php-cgi
1001      1880  0.0  0.7  16492  1924 ?        S    12:14   0:00 /usr/bin/php-cgi
1001      1881  0.0  0.7  16492  1924 ?        S    12:14   0:00 /usr/bin/php-cgi
rv        1890  0.0  1.8  16492  4964 ?        Ss   12:14   0:00 /usr/bin/php-cgi
rv        1891  0.0  1.5  16776  4168 ?        S    12:14   0:00 /usr/bin/php-cgi
rv        1892  0.0  1.5  16780  4172 ?        S    12:14   0:00 /usr/bin/php-cgi
rv        1893  0.0  1.5  16780  4172 ?        S    12:14   0:00 /usr/bin/php-cgi
rv        1894  0.0  1.5  16780  4172 ?        S    12:14   0:00 /usr/bin/php-cgi

Я замечаю, что все мои окна RHEL показывают UID для учетной записи, и они одинаковы для всех. (haldaemon) Возможно из-за того, как долго это имя? Это единственный, который я вижу, длиннее восьми символов. Учетные записи, которые вы показывали, длиннее этого?

Некоторые поисковые запросы только для этого, похоже, указывают на проблему: http://www.linuxquestions.org/questions/linux-newbie-8/ps-aux-displays-users-as-uids-instead-of-username-645456/


- Кристофер Карел

Сомневаюсь, что это ваша проблема, но я включаю ее для полноты картины. Вы можете изменить ширину поля, и если оно короче, чем ваши имена пользователей, оно автоматически переключится на отображение UID.

Например:

ps x o user:4,pid,cmd

Обычно, когда в подобной ситуации отображается числовой UID, это указывает на то, что записи в /etc/passwd для UID. 1001 указано в /etc/passwd?

Вероятно, это означает, что возникла проблема со службой имен паролей ...

Это один и тот же пользователь rv и 1001 или другой пользователь?

Вы используете NIS? LDAP? Что значит grep passwd /etc/nsswitch.conf говорите, что используете? Что значит grep :1001: /etc/passwd сказать?

Если вы используете NIS или LDAP и имеете такие проблемы, вы можете установить nscd и исследовать проблемы с производительностью на NIS / LDAP / других серверах ...

Также возможно, что у вас есть что-то, работающее как идентификатор пользователя, которого больше нет в системе. Настроен ли этот apache с suexec так, что скрипты PHP запускаются от имени пользователя, которому они принадлежат? Или какой-то подобный механизм? (suexec должен сначала проверить, является ли 1001 действительный пользователь в системе)

я могу подтвердить Кристофер Карел Правильно: у меня такая же ситуация на машине CentOS5. Кроме того, также Деннис Уильямсон правильно указывает, что длина пользовательского поля, отображаемого командой ps, связана с этим. Поскольку по умолчанию поле пользователя имеет ширину 8 символов, любое имя пользователя, более длинное, будет отображаться как числовой UID ... Так что никаких проблем: просто установите более широкое значение по умолчанию, если вы хотите видеть там полные имена, или передайте его как вариант, когда запускаете команду ps .. Просто мой 2с =)