![]() |
Подскажите как снять зависшие на pts сеансы?
|
ps aux | grep username, далее kill. А, вообще-то, спустя некоторое время абсолютной неактивности они сами отмирают.
|
Нет нужно убить именно зависший pts (кстати он уже висит 2.5 месяца!).
В выводе ps нет процессов на этом pts! |
Не должно так быть. Что-то держит этот 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 |
Мдя, ерундистика какая-то. Подумать надо, посоветоваться.
|
simpleVanja
Дайте, пожалуйста дамп по команде who -aH (глянем на pid терминала) ps -ef (нужны ppidы) Дальше, наверное, сами. Сообщите об успехе, самому интересно. [s]Исправлено: hasherfrog, 9:43 20-02-2004[/s] |
у меня раз завис плэер (не помню названия :( ). А запускал я его, открывая файл с диска на NTFS.
При следующей перезагрузке мне вылезло предложение "закрыть неотвечающую программу". ____________________________________________________ А, что, в Линуксе нет аналогов "Ctrl+Alt+Del"? Нет аналога "Диспетчера задач"? Наверняка есть. Меня интересует графический интерфейс.... Ведь в Windows это работает, и очень неплохо. Подскажите как это выглядит? Скриншотик дайте :) |
project stone
Есть и графические утилиты. Например, "Системный монитор" в KDE. Но, для мониторинга процессов и их управления намного удобнее консольные утилиты top, ps, renice. А Alt+Ctrl+Del многие специально отключают, так как в *nix по этой комбинации сразу происходит рестарт системы. Причем сие "по умолчанию" доступно и простому пользователю. Да сисадмин убить может, если кто на сервере нажмет сию комбинацию. Поэтому и отключают, чтобы не было соблаза или случайности. |
Belansky, ещё раз спасибо. Пользователю виндовс систем гораздо легче понять новое, проводя аналогии с уже известным.
|
hasherfrog
who -aH - такого нет ( опция -а) :-( (asplinux) ps -ef - см. выше project stone Да если б же можно было перезагрузить... :-) |
[pre]pstree -p[/pre] - наглядней некуда! :о/
[s]Исправлено: Guest 80 247 100, 9:06 24-02-2004[/s] |
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 в Инете работают? Их что? Просто вырубить? |
stomo
а если ночью? |
Я тут наткнулся на интересный прикол под ASP (это наверняка не только ASP касается, а вообще ps).
Команды pstree и top показывают триды от процессов, а ps без ключа -m - нет. В результате возникают загадочные ситуации, когда процесс вроде есть (и в /proc он расписан как положено), а ps его никак не показывает. Насколько я могу судить, это чаще всего касается мультиттридовых приложений, юзающих сокетные соединения, например у меня MozillaFirebird этим занимается (более чем активно). Вот так вот :) |
Сейчас точно не помню, надо литературу подчитать, но есть такой параметр запуска команды в фоновом режиме без привязки к конкретному терминалу, когда она продолжает выполняться даже тогда, когда пользователь вышел из системы.
|
Цитата:
Код:
signal(SIGHUP, SIG_IGN); |
Забавная ситуация, в общем :] Спустя три года столкнулся с тем, из-за чего создана тема.
Ухитрился на серваке создать целый ряд сессий, которые отображаются по who, но которых нет :] Важно, что в /proc не содержится никакого упоминания о pts-ах, которые фигурируют при выводе who. Вот, собственно, какая ерунда. Эти сессии не отмирают со временем, просто есть. Видимо, нужно лезть в исходники who, чтобы понять, что к чему. Но мне как-то не надо. Я умею создавать такие сессии, но никто из сотрудников больше в этом не замечен, ну и ладушки :] |
Время: 07:46. |
Время: 07:46.
© OSzone.net 2001-