Показать полную графическую версию : Снять зависшие сеансы
Подскажите как снять зависшие на pts сеансы?
Belansky
17-02-2004, 21:04
ps aux | grep username, далее kill. А, вообще-то, спустя некоторое время абсолютной неактивности они сами отмирают.
Нет нужно убить именно зависший pts (кстати он уже висит 2.5 месяца!).
В выводе ps нет процессов на этом pts!
Belansky
18-02-2004, 11:42
Не должно так быть. Что-то держит этот pts. Если на нем процессов не висит, сам то он должен отображаться.
[root@ns etc]# who
ser * * * pts/0 * *Feb 18 08:00 (admin)
ser * * * pts/3 * *Dec 19 09:59 * <<<<<<<<<<< ???????
[root@nsl etc]# ps aux
USER * * * PID %CPU %MEM * VSZ *RSS TTY * * *STAT START * TIME COMMAND
root * * * * 1 *0.0 *0.0 *1380 *416 ? * * * *S * * 2003 * 0:04 init [5]
root * * * * 2 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:04 [keventd]
root * * * * 3 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:00 [kapmd]
root * * * * 4 *0.0 *0.0 * * 0 * *0 ? * * * *SWN * 2003 * 0:02 [ksoftirqd_CPU0]
root * * * * 5 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 *88:05 [kswapd]
root * * * * 6 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:00 [bdflush]
root * * * * 7 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:01 [kupdated]
root * * * * 8 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:00 [mdrecoveryd]
root * * * *17 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:05 [kjournald]
root * * * *79 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:00 [khubd]
root * * * 272 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:14 [kjournald]
root * * * 273 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:22 [kjournald]
root * * * 274 *0.0 *0.0 * * 0 * *0 ? * * * *SW * *2003 * 0:07 [kjournald]
root * * * 679 *0.0 *0.0 *1436 *520 ? * * * *S * * 2003 * 0:10 syslogd -m 0
root * * * 684 *0.0 *0.0 *1372 *412 ? * * * *S * * 2003 * 0:00 klogd -x
rpc * * * *704 *0.0 *0.0 *1524 *548 ? * * * *S * * 2003 * 0:00 portmap
rpcuser * *732 *0.0 *0.0 *1716 *664 ? * * * *S * * 2003 * 0:00 rpc.statd
root * * * 852 *0.0 *0.0 *1368 *392 ? * * * *S * * 2003 * 0:00 /usr/sbin/apmd -p 10 -w 5 -W -P /etc/sysconfig/apm-scripts/apms
root * * * 980 *0.0 *0.0 *1412 *404 ? * * * *S * * 2003 * 0:02 gpm -t netmouse -m /dev/mouse
root * * * 998 *0.0 *0.0 *1612 *664 ? * * * *S * * 2003 * 0:02 crond
xfs * * * 1074 *0.0 *0.5 *9724 5652 ? * * * *S * * 2003 * 1:55 xfs -droppriv -daemon
daemon * *1110 *0.0 *0.0 *1412 *464 ? * * * *S * * 2003 * 0:00 /usr/sbin/atd
root * * *1145 *0.0 *0.0 *1352 *308 tty6 * * S * * 2003 * 0:00 /sbin/mingetty tty6
root * * *1146 *0.0 *0.1 *6152 1180 ? * * * *S * * 2003 * 0:00 /usr/bin/gdm -nodaemon
root * * *8535 *0.0 *0.0 *2356 *872 ? * * * *S * *Jan13 * 0:06 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid
root * * 10455 *0.0 *0.2 *4192 2936 ? * * * *S * *Jan27 * 1:21 ./named
root * * *9728 *0.0 *0.1 *2492 1244 ? * * * *S * *08:00 * 0:00 login -- dz
ser * * * *9729 *0.0 *0.1 *2516 1328 pts/0 * *S * *08:00 * 0:00 -bash
root * * *9769 *0.0 *0.0 *2448 1024 pts/0 * *S * *08:00 * 0:00 su
root * * *9770 *0.0 *0.1 *2708 1488 pts/0 * *S * *08:00 * 0:00 bash
root * * *9908 *0.0 *0.0 *1352 *364 tty2 * * S * *08:05 * 0:00 /sbin/mingetty tty2
root * * *9910 *0.0 *0.0 *1352 *364 tty1 * * S * *08:05 * 0:00 /sbin/mingetty tty1
root * * *9914 *0.0 *0.0 *1352 *364 tty3 * * S * *08:05 * 0:00 /sbin/mingetty tty3
root * * *9916 *0.0 *0.0 *1352 *364 tty4 * * S * *08:05 * 0:00 /sbin/mingetty tty4
root * * *9918 *0.0 *0.0 *1352 *364 tty5 * * S * *08:05 * 0:00 /sbin/mingetty tty5
root * * *9938 *0.0 *0.1 *6480 1792 ? * * * *S * *08:06 * 0:00 /usr/bin/gdm -nodaemon
root * * *9939 *0.0 *0.8 274916 8980 ? * * * S * *08:06 * 0:01 /usr/bin/X11/X :0 -auth /var/gdm/:0.Xauth
gdm * * * 9945 *0.0 *0.3 *7216 3544 ? * * * *S * *08:06 * 0:00 /usr/bin/gdmlogin --disable-sound --disable-crash-dialog
gdm * * * 9946 *0.0 *0.2 *5840 2596 ? * * * *S * *08:07 * 0:00 /usr/bin/xsri --asplinux-login --run
root * * 14026 *0.0 *0.0 *2788 *800 pts/0 * *R * *13:24 * 0:00 ps aux
Belansky
18-02-2004, 23:30
Мдя, ерундистика какая-то. Подумать надо, посоветоваться.
hasherfrog
20-02-2004, 09:41
simpleVanja
Дайте, пожалуйста дамп по команде
who -aH (глянем на pid терминала)
ps -ef (нужны ppidы)
Дальше, наверное, сами. Сообщите об успехе, самому интересно.
Исправлено: hasherfrog, 9:43 20-02-2004
project stone
21-02-2004, 21:42
у меня раз завис плэер (не помню названия :( ). А запускал я его, открывая файл с диска на NTFS.
При следующей перезагрузке мне вылезло предложение "закрыть неотвечающую программу".
____________________________________________________
А, что, в Линуксе нет аналогов "Ctrl+Alt+Del"? Нет аналога "Диспетчера задач"? Наверняка есть. Меня интересует графический интерфейс.... Ведь в Windows это работает, и очень неплохо. Подскажите как это выглядит? Скриншотик дайте :)
Belansky
21-02-2004, 21:48
project stone
Есть и графические утилиты. Например, "Системный монитор" в KDE. Но, для мониторинга процессов и их управления намного удобнее консольные утилиты top, ps, renice.
А Alt+Ctrl+Del многие специально отключают, так как в *nix по этой комбинации сразу происходит рестарт системы. Причем сие "по умолчанию" доступно и простому пользователю. Да сисадмин убить может, если кто на сервере нажмет сию комбинацию. Поэтому и отключают, чтобы не было соблаза или случайности.
project stone
21-02-2004, 22:19
Belansky, ещё раз спасибо. Пользователю виндовс систем гораздо легче понять новое, проводя аналогии с уже известным.
hasherfrog
who -aH - такого нет ( опция -а) :-( (asplinux)
ps -ef - см. выше
project stone
Да если б же можно было перезагрузить... :-)
Guest 80 247 100
24-02-2004, 09:04
pstree -p - наглядней некуда! :о/
Исправлено: Guest 80 247 100, 9:06 24-02-2004
hasherfrog
26-02-2004, 09:53
simpleVanja
ps -ef не тоже самое, что ps aux (он печатает и ppid'ы)
Что касается who, то да, ключа -a в старых ASP (ЕМНИП до 7.1 включительно) нет.
Попробуем по-другому.
Зайди (под рутомб ессно) в каталог /proc
Аккуратно, для каждого процесса:
Заходишь в каталог хххх/fd, хххх - это pid процесса.
Если пустили, делаешь там ls -al и смотришь, куда указывают дескрипторы. Где-то должно оказаться что-то типа
lrwx------ 1 user group 64 Фев 26 09:30 0 -> /dev/pts/3
lrwx------ 1 user group 64 Фев 26 09:30 1 -> /dev/pts/3
lrwx------ 1 user group 64 Фев 26 09:30 2 -> /dev/pts/3
lrwx------ 1 user group 64 Фев 26 09:30 255 -> /dev/pts/3
Так можно найти процесс, который юзает /dev/pts3. Это и будет процесс, который надо убить. Только аккуратно :)
Кстати, программы типа top используют именно каталог /proc, а вовсе не копаются в памяти, как я когда-то по наивности думал
А что говорит ps x -o ?
project stone
Ctrl+Alt+Del
Да и как вы себе представляете например перегрузить сервер, когда через него человек 40 в Инете работают?
Их что? Просто вырубить?
Guest 80 247 100
04-03-2004, 10:04
stomo
а если ночью?
hasherfrog
15-07-2004, 19:14
Я тут наткнулся на интересный прикол под ASP (это наверняка не только ASP касается, а вообще ps).
Команды pstree и top показывают триды от процессов, а ps без ключа -m - нет. В результате возникают загадочные ситуации, когда процесс вроде есть (и в /proc он расписан как положено), а ps его никак не показывает.
Насколько я могу судить, это чаще всего касается мультиттридовых приложений, юзающих сокетные соединения, например у меня MozillaFirebird этим занимается (более чем активно).
Вот так вот :)
Belansky
19-07-2004, 19:36
Сейчас точно не помню, надо литературу подчитать, но есть такой параметр запуска команды в фоновом режиме без привязки к конкретному терминалу, когда она продолжает выполняться даже тогда, когда пользователь вышел из системы.
hasherfrog
26-07-2004, 16:38
когда пользователь вышел из системы
ЕМНИП, программе достаточно сказать самой себеsignal(SIGHUP, SIG_IGN); или сменить группу, тогда закрытие управляющего терминала её не коснётся.
hasherfrog
15-07-2008, 13:15
Забавная ситуация, в общем :] Спустя три года столкнулся с тем, из-за чего создана тема.
Ухитрился на серваке создать целый ряд сессий, которые отображаются по who, но которых нет :]
Важно, что в /proc не содержится никакого упоминания о pts-ах, которые фигурируют при выводе who.
Вот, собственно, какая ерунда. Эти сессии не отмирают со временем, просто есть.
Видимо, нужно лезть в исходники who, чтобы понять, что к чему. Но мне как-то не надо.
Я умею создавать такие сессии, но никто из сотрудников больше в этом не замечен, ну и ладушки :]
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.