Я использую 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с =)