Страница 1 из 1
Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-02-06 15:27:05
ps
Есть веб-сервер на базе FreeBSD. Регулярно под апачем подвисают скрипты. Как можно сделать так, чтобы они прибивались? Сейчас регулярно запускаю самописный скрипт, который через команду ps смотрит подвисшие процессы, и прибивает их. Можно как-то настроить ОС, чтобы она сама прибивала такие процессы по достижению некоего процессорного времени?
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-02-06 15:39:48
zingel
Настроить login.conf для пользователя www
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-02-06 15:41:58
Alex Keda
проблематично....
например не работает при php в режиме фаст-цги....
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-02-06 15:45:52
zingel
как варианта по крону делать, но я думаю есть варианты с suexec
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-02-06 15:47:44
Alex Keda
нету...
даже в стартовом скрипте через лимитс пробовал ставить - не действует....
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-02-06 15:50:45
zingel
едрёна кочерыга, тогда только по-крону - мега скриптом......
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-05-04 0:14:16
ProFTP
как это делаетьсмя?

Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-05-04 1:27:33
zingel
не прошло и полгода....
ну вот как-то так:
Код: Выделить всё
mkdir -p /usr/local/scripts/ && cd /usr/local/scripts/; touch parser.sh
vi parser.sh
Код: Выделить всё
#!/usr/local/bin/bash
while true;
do
ps -auxx | grep httpd| grep handling | awk '{print $13}' | sort | uniq -c | sort > tt
cat tt | tail -n 1 | awk '{print $1}' > rr
File=rr
{
read line1
} < $File
q
echo "SCUKO:" $line1
if [[ $line1 -gt 7 ]]
then
cat tt | tail -n 1 | awk '{print $2}' ; echo " - GRUZILO!"
else
echo "OH YES!OH YES!"
fi
sleep 3
done;
засовываем в крон
Вот только для этой штуки неплохобы делать renice, ну это уже другим скриптом и это совсем другая история, вернее страшная сказка на ночь, сказка про зомби.
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-07 16:09:13
ProFTP
а зомби как прибивать?
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-07 20:12:13
zingel
kill -9
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-07 22:49:23
ProFTP
сенксЮ надо будет написать срикпт
если апаче и пхп не от инита работает...?
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-08 0:30:42
f_andrey
Рекомендую взглянуть в сторону новых солярисов там они в службах SMF как раз реализуют этот функционал +отслеживание зависимости служб, жесткое, мягкое при старте при работе. технология новая и весьма навороченная но весьма любопытная. и революционная, или это эволюция
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-08 1:22:06
zingel
Вот таких вещей не нужно делать:
Код: Выделить всё
int main(void) {
int i;
if (!fork()) {
_exit(0);
}
вот и вся эволюция.
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-19 2:58:47
ProFTP
zingel писал(а):не прошло и полгода....
ну вот как-то так:
Код: Выделить всё
mkdir -p /usr/local/scripts/ && cd /usr/local/scripts/; touch parser.sh
vi parser.sh
Код: Выделить всё
#!/usr/local/bin/bash
while true;
do
ps -auxx | grep httpd| grep handling | awk '{print $13}' | sort | uniq -c | sort > tt
cat tt | tail -n 1 | awk '{print $1}' > rr
File=rr
{
read line1
} < $File
q
echo "SCUKO:" $line1
if [[ $line1 -gt 7 ]]
then
cat tt | tail -n 1 | awk '{print $2}' ; echo " - GRUZILO!"
else
echo "OH YES!OH YES!"
fi
sleep 3
done;
засовываем в крон
Вот только для этой штуки неплохобы делать renice, ну это уже другим скриптом и это совсем другая история, вернее страшная сказка на ночь, сказка про зомби.
извините, а что делает данный скрипт?? он по-моиму только паять прилично?
я хотел чтобы автоматически прибивал процессы, точнне чтобы быстрее освобождал память тем процесам которые уже не работают, но наверное так нельзя...
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-19 3:08:13
paradox
этот скрипт топик мастеру
или ты думал это тебе?=)
скрипт делает то о чем топик
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-19 3:18:34
ProFTP
только результата нету, load averages до 20 доскакивает
Re: Как автоматически прибивать подвисшие процессы?
Добавлено: 2008-06-19 5:22:48
zingel
снятие нагрузки с сервера, это целая наука, за один раз ничего ен получится, нужно сидеть и выяснять что грузит, какие процессы, почему, что именно они хотят от жесткого диска, как быстро отдается контент, проводить реверс-тюнинг сетевого стека, ядра, оптимизировать настройки ПО. Если хотите, я могу посмотреть на Ваш сервер и сказать, что можно сделать, для этого нужно:
1)Связаться со мной
2)Дать мне доступ на сервер