运行 ps aux 时,它会显示 uid 而不是用户

运行 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

答案1

我注意到我的所有 RHEL 盒子都显示帐户的 UID,而且所有盒子上的 UID 都相同。(haldaemon)可能是因为名称太长?这是我看到的唯一一个长度超过八个字符的帐户。您显示的帐户是否比这个更长?

通过谷歌搜索似乎可以发现问题出在这里:http://www.linuxquestions.org/questions/linux-newbie-8/ps-aux-displays-users-as-uids-instead-of-username-645456/


——克里斯托弗·卡雷尔

答案2

我怀疑这不是您的问题,但为了完整性我还是把它包括进去了。您可以覆盖字段的宽度,如果宽度比您的用户名短,它会自动切换为显示 UID。

例如:

ps x o user:4,pid,cmd

答案3

通常,在这种情况下显示数字 UID 时,表示可能不再有/etc/passwd该 UID 的条目。在 中指定了 1001 吗/etc/passwd

答案4

我可以确认克里斯托弗·卡雷尔是正确的:我在 CentOS5 机器上也遇到了同样的情况。除此之外,丹尼斯·威廉森正确地指出了命令 ps 显示的用户字段的长度与此有关。由于用户字段默认为 8 个字符宽,任何更长的用户名都将显示为数字 UID...所以完全不用担心:如果您希望在那里看到全名,只需设置更宽的默认值,或者在运行 ps 命令时将其作为选项传递。只是我的 2c =)

相关内容