Re: strange ps behavior
Hello!
On Thu, Aug 23, 2007 at 08:08:22PM +0400, Yuri Kozlov wrote:
> > Заметил следующее интересное поведение ps, в некоторых случаях при
> > выводе ps u(ax) он не показывает username в колонке USER, а вместо этого
> > показывает числовой uid юзера.
> > При этом это наблюдается не для всех пользователей системы, а лишь для
> > части. Чем они отличаются от других - не обнаружил. Это могут быть и
> > реальные пользователи, могут быть псевдо-пользователи.
> >
> > Объединяет их то, что uid >1000 и созданы они были руками после инстала
> > системы. Но есть и такие, для которых uid >1000, но ps отображается их
> > username в выводе корректно.
>
> Что нужно сделать чтобы воспроизвести у себя этот баг?
Если бы я знал, возможно знал бы куда копать.
Вот, к примеру:
# uname -a
Linux puma 2.6.18-5-686 #1 SMP Sun Aug 12 21:57:02 UTC 2007 i686 GNU/Linux
# cat /etc/debian_version
4.0
# ps u -Umessagebus
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
104 2267 0.0 0.0 2248 672 ? Ss Aug16 0:00 /usr/bin/dbus-daemon --system
# id messagebus
uid=104(messagebus) gid=107(messagebus) groups=107(messagebus)
# sudo -u messagebus /usr/local/bin/getuid
uid: 104, name: messagebus
# top -p2267
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2267 messageb 16 0 2248 672 524 S 0 0.0 0:00.00 dbus-daemon
Т.е. везде username по этому uid'у определяется корректно, getuid - это
вызов getuid и getpwname(uid).
И только ps показывает uid в колонке USER.
При этом user'а везде разные, как-то рандомно оно "не работает". На
разных серверах, но везде 2.6 ядро. Там, где 2.4 - такого эффекта нет.
--
WBR,
Alexander Burnos
Reply to: