В старой коробке GNU / Linux Ubuntu я вижу что-то вроде
lorenzo@metropolis:~
$ w
09:58:18 up 651 days, 19:30, 5 users, load average: 0.28, 0.30, 0.24
Проблема в том, что я вошел в другие три сеанса. Число должно быть четыре, а не пять. Любая подсказка, почему количество зарегистрированных пользователей выше?
Однако проверка lastlog возвращает правильное значение:
lorenzo@metropolis:~
$ sudo last -ain 7 | grep 'still logged in' | wc -l
4
[отредактировано] Вот результат who
, снято в другом случае, но по-прежнему отображаются два пользователя, а три пользователя w
lorenzo@metropolis:~
$ who
lorenzo pts/0 Dec 28 13:10 (XXX)
lorenzo pts/1 Dec 28 13:07 (XXX)
lorenzo@metropolis:~
$ w
13:11:15 up 651 days, 22:43, 3 users, load average: 0.49, 0.40, 0.31
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
lorenzo pts/0 XXX 13:10 0.00s 0.11s 0.00s w
lorenzo pts/1 XXX 13:07 3:09m 0.13s 0.13s -bash
Мое параноидальное чувство покалывает.
[отредактировано] запрошены еще несколько команд
$ cat /etc/issue
Ubuntu 8.04 \n \l
$ dpkg-query -S /usr/bin/w.procps
procps: /usr/bin/w.procps
$ dpkg-query -S /usr/bin/who
coreutils: /usr/bin/who
w
использует /var/run/utmp
и /proc
файловая система (в Linux), записывающая, кто в данный момент находится в системе.
last
использует /var/log/wtmp
(и /var/log/btmp
), показывая, как выполнялся вход в систему. Однако не каждая программа обновит эти файлы должным образом, в некоторых системах эти файлы могут даже не существовать.
Например, в моей системе w
видит мои 5 сеансов входа в систему в рамках одного сеанса экрана GNU:
$ w | tail -n +3 | wc -l 5 $ last | grep -c still\ logged 1
Все же last
только записал один активный сеанс. При установке deflogin=off
на экране GNU, даже w
теряет отслеживание активных сеансов входа в систему и продолжает отображать 5 сеансов, хотя я только что открыл еще 5 окон в том же сеансе экрана.
IOW: используйте, например, ps
чтобы узнать, сколько пользователей находятся в сети, сколько оболочек открыто и т. д. Это даст более точные результаты, поскольку не полагается на (устаревшие) файлы статистики, такие как /var/log/utmp
.
при использовании только 'w' он будет отображать заголовок и команду, которую вы в данный момент запускаете, поэтому он всегда будет показывать дополнительную строку, где появляется ваш пользователь, выполняющий 'w', тогда он всегда будет показывать еще одну строку.
В моем случае, w
возвращает Xsession плюс открытые терминалы
$ w
12:05:40 up 3:47, 2 users, load average: 0.02, 0.15, 0.16
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
userXX tty7 :0 08:18 3:47m 13:41 0.00s /bin/sh /etc/xdg/xfce4/xinitrc -- /etc/X11/xinit/xserverrc
userXX pts/0 :0.0 12:03 0.00s 0.11s 0.00s w
Поэтому на одного пользователя больше. У тебя тоже самое? Не могли бы вы использовать полный w
результат, если это не так?