Alexander N. wrote:
> Georgi Chorbadzhiyski wrote:
>> Питах вече в httpd-devel и -users ама никой не може да ми отговори,
>> та реших, че може би някой из lug-а е по-светнат.
>>
>> Проблема ми е следният: когато apache трансферира големи файлове и
>> по някаква причина реша, че искам да прекратя трансфера, какъвто
>> и сигнал да пращам на httpd-то, което сервира, то или игнорира сигнала
>> или просто умира, прекратявайки трансфера без да записва нищо
>> в логовете.
> 
> В мануала на апачето пише следното:
> 
>     * *"graceful restart" sigusr1 signal*
> 
>       zfile kill -s sigusr1 /apache_parent_pid/ or
>       zfile kill -s sigusr1 `cat /usr/local/apache/logs/httpd.pid`
> 
>       The Apache parent asks its children to exit when they're finished
>       with any requests they're currently handling. Then the existing
>       parent re-reads the configuration file(s) and creates new children
>       to replace the exiting ones.
> 
>       "Graceful restart" can be used to pick up new configuration files
>       without disrupting traffic.
> 
>     * http://httpd.apache.org/docs/1.3/stopping.html
> 
> Но май няма да ти свърши работа, защото така може да си го чакаш до утре 
> спре....

Именно. Не ми върши работа защото аз искам да прекъсна трансфера, а не да го
чакам да си спре когато клиента пожелае.

Не ме бийте за следната грозотия, която работи /по-лесно ми беше да я направя 
нея
вместо да се кривя да компилирам tcpkill ot dsniff/.

Скрипт ugly_tcpkill.sh пуска се

  ugly_tcpkill.sh  PID_OF_HTTPD_PROCESS  IP_OF_CLIENT

#!/bin/sh
lsof -n -i [EMAIL PROTECTED] | grep $1 | tr -s ' ' | cut -d" " -f8 | cut -d">" 
-f2 | tr : " " | while read IP PORT
do
  iptables -I OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with 
tcp-reset
  sleep 2
  iptables -D OUTPUT -p tcp -d $IP --dport $PORT -j REJECT --reject-with 
tcp-reset
done

Не го използвайте в този вид моля, защото не отговарям за грешките, които са
очевадни. :-)

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/

Reply via email to