[mdk-re] User remains logged on to pts/0 after exiting X :-(
HB
=?iso-8859-1?q?npecca_=CE=C1_yahoo=2Ecom?=
Чт Сен 27 14:30:56 MSD 2001
Mon, Sep 24, 2001 at 08:02:56PM +0400, Sergey Vlasov wrote:
> > Когда я (пользователь hb) выхожу из KDE, этот выход происходит как-то
> > странно, "не до конца". После выхода пользователь hb с терминалом pts/0
> > остается logged on. Это так и должно быть?
>
> Интересно было бы посмотреть на вывод /usr/sbin/lsof /dev/pts/0
> во время работы KDE
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
cat 7126 hb 0u CHR 136,0 2 /dev/pts/0
cat 7126 hb 1u CHR 136,0 2 /dev/pts/0
cat 7126 hb 2u CHR 136,0 2 /dev/pts/0
> и после выхода (когда остался висящий пользователь),
lsof: status error on /dev/pts/0: No such file or directory
lsof 4.55 (latest revision at ftp://vic.cc.purdue.edu/pub/tools/unix/lsof)
usage: [-?abhlnNoOPRstUvV] [-c c] [+|-d s] [+D D] [+|-f]
[-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]] [-p s]
[+|-r [t]] [-S [t]] [-T [t]] [-u s] [+|-w] [--] [names]
Use the ``-h'' option to get more help information.
> чтобы выяснить, что за процесс зарегистрировал вход на псевдотерминале,
> и остался ли он после завершения работы KDE.
К сожалению, я не понимаю/не знаю, как это выяснить. Единственное,
что мне пришло в голову, это проверить, остался ли после выхода из KDE
процесс с PID 7126 (единственный, к-рый присутствовал в выводе
`lsof /dev/pts/0` во время работы KDE (см. 20-ю строками выше). Нет,
такого процесса больше нет.
> > Кроме того, если перейти на тот терминал, где до этого был KDE, нажав
> > Alt-F7, то мы видим пустой черный экран с мигающим на нем курсором (т. е.
> > это текстовый режим). Такое ощущение, что там еще "что-то осталось", в
> > отличие от других, на самом деле "пустых" терминалов, т. к. при нажатии
> > Alt-F8, Alt-F9, ..., Alt-F12 не происходит ничего.
>
> Так Вы запускаете KDE через startx?
Да.
> Тогда так и должно быть - X занимает виртуальную консоль под себя,
> а после завершения освобождает, но не уничтожает. Для окончательного
> уничтожения есть утилита deallocvt
Да, я ей воспользовался. Просто `deallocvt` уничтожает tty7. Но меня
наличие tty7 и не смущало особо. А вот пользователь-призрак на pts/0
остается, что, все-таки, не очень приятно: по меньшей мере, `w` и `who`
начинают "врать". И это при том, что самого терминала /dev/pts/0 после
выхода из KDE нет
$ who
hb tty1 Sep 27 10:56
hb pts/0 Sep 27 12:44
$ ls -Al /dev/pts
total 0
> > Что меня особенно удивляет, как может быть пользователь logged on,
> > если от его имени не запущено _ни одного_ процесса?
>
> Возможно, например, кто-то не убрал за собой запись в /var/run/utmp.
Я посмотрел на этот /var/run/utmp, там есть строка "pts/0". Похоже,
что оттуда, действительно, кто-то не убрал какую-то запись. Но как
с этим бороться? Ведь, кроме прочего, я сам (обычный пользователь hb)
писать в этот файл не могу, т. к. я не root и не член utmp:
-rw-rw-r-- 1 root utmp 4992 Sep 27 13:27 /var/run/utmp
--
HB
Подробная информация о списке рассылки community