Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как убить процессы запущенные от опр. пользователя, Нужно убить процесс от опр. пользователя 
:(
    Опции темы
Zerstroer
Дата 12.10.2009, 05:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Здравствуйте, уважаемые!
Стоит следующая задача. Нужен запрос или команда в консоли, которая сможет убить все  процессы (сессии) запущенные от определенного пользователя и выполняющиеся меньше заданного времени.


--------------------
In silico
PM MAIL ICQ   Вверх
Akina
Дата 12.10.2009, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



SHOW PROCESSLIST покажет тебе процессы. Выбери нужные и KILL их.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zerstroer
Дата 12.10.2009, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Как это можно сделать руками я знаю. Вся сложность в том - что это нужно сделать программно. Либо из консоли, командой mysql, либо sql-скриптом. Возможно ли это?


--------------------
In silico
PM MAIL ICQ   Вверх
gcc
Дата 12.10.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 3
Всего: 17



да, вывидите и убейте

лучше pool connect использовать, максимум 1 соединение и "висеть" ничего не будет...

или следить чтобы прогармма верно завершалась и отключалась от MySQL
PM WWW ICQ Skype GTalk Jabber   Вверх
Zerstroer
Дата 13.10.2009, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Программа должна работать и коннектов к базе должно быть более одного. Должно быть одно рутовое и 3 от другого пользователя. Через pool connect как это реализовать?


--------------------
In silico
PM MAIL ICQ   Вверх
Akina
Дата 13.10.2009, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



SHOW PROCESSLIST даёт неформализованный вывод, который, конечно, можно обработать программно, но это будет "через одно место".

Вот вариант, который (при всех его кривизне и идиотизме) кажется мне работоспособным (полагаю, его разумно оформить пользовательской функцией):
1) сбрасываем вывод SHOW PROCESSLIST в файл
2) затягиваем содержимое файла во временную таблицу (id autoincrement, val char(80))
3) обрабатываем таблицу, выделяем процессы "к прибитию" и kill-яем их
4) возвращаем количество прибитых процессов

Хотя не думал, насколько это осуществимо на практике...

С другой стороны, не понимаю, почему бы не получить нужные данные и не выполнить нужные операции извне MySQL...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zerstroer
Дата 13.10.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Программа должна работать и коннектов к базе должно быть более одного. Должно быть одно рутовое и 3 от другого пользователя. Через pool connect как это реализовать?
Покурил мануалы нашел, что processlist содержится в таблице information_schema.processlist, но не могу найти эту таблицу в этой базе. В чем дело?


--------------------
In silico
PM MAIL ICQ   Вверх
Akina
Дата 13.10.2009, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(Zerstroer @  13.10.2009,  13:00 Найти цитируемый пост)
, что processlist содержится в таблице information_schema.processlist, но не могу найти эту таблицу в этой базе. В чем дело? 

Нет такой таблицы в схеме... Чего же это ты курил-то?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.