The OpenNET Project
 
Поиск (теги):    НОВОСТИ (+) КОНТЕНТ WIKI MAN'ы ФОРУМ twitter

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Поймать и определить сигнал"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"Поймать и определить сигнал"  +/
Сообщение от datswd on 01-Фев-15, 18:04 
Добрый здравствуйте.

Apache запускает приложение, которое обрабатывает stdin (загрузка файла). Если соединение прерывается (происходит разрыв :)), приложение закрывается автоматически apach`ем.
Какой при этом срабатывает сигнал?
SIGINT SIGQUIT SIGKILL попробовал. Вроде не они (3% что косяк в самой проверке).

Так вот из первого вопроса проистекает главный вопрос.
Каким образом можно посмотреть каким именно сигналом происходит это закрытие.

Брутфорсить не хочется. Их там штук 30.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Поймать и определить сигнал"  +/
Сообщение от Alex_S (??) on 02-Фев-15, 03:06 
> Добрый здравствуйте.
> Так вот из первого вопроса проистекает главный вопрос.
> Каким образом можно посмотреть каким именно сигналом происходит это закрытие.

strace не поможет ?
  или core dump ?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Поймать и определить сигнал"  +/
Сообщение от NoiseBringer (??) on 02-Фев-15, 09:08 
>> Добрый здравствуйте.
>> Так вот из первого вопроса проистекает главный вопрос.
>> Каким образом можно посмотреть каким именно сигналом происходит это закрытие.
>  strace не поможет ?
>   или core dump ?

Спасибо!

Этот вопрос задавался для того чтобы решить проблему с файлами, которые не были до конца загружены из-за прерывания соединения.
Один из вариантов, это в приложении, которое записывает файл, ловить сигнал о досрочном завершении и, не отходя от кассы, удалять незавершенный файл.
Красиво. Но для этого нужно разбираться с strace и прочими утилитами.

В то же время есть вариант номер два. Раз в час запускать приложение, которое удаляет все файлы из нужной директории, у которых время последнего изменения больше десяти минут.
Не так красиво, но зато просто до упора :)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Поймать и определить сигнал"  +/
Сообщение от NoiseBringer (??) on 02-Фев-15, 09:32 
>> Добрый здравствуйте.
>> Так вот из первого вопроса проистекает главный вопрос.
>> Каким образом можно посмотреть каким именно сигналом происходит это закрытие.
>  strace не поможет ?
>   или core dump ?

Ай спасибо!
Всё оказалось проще чем я думал.

ps -ax | grep {приложение}

С помощью этой команды вясняем PID нашего приложения

strace -p PID

С помощью этой мониторим чем оно занимается.

Возможно понадобится изменить параметр kernel.yama.ptrace_scope в файле /etc/sysctl.d/10-ptrace.conf с 1 на 0;

Оказалось что Apache в этом случае посылает SIGKILL.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема



  Закладки на сайте
  Проследить за страницей
Created 1996-2015 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList
п╡п╣я│п╣п╩я▀п╣ п╨п╟я─я┌п╦п╫п╨п╦ я─п╟п╥п╡п╩п╣п╨п╟я┌п╣п╩я▄п╫я▀п╣ пЁп╦я└п╨п╦ п╦п╫я┌я─п╣я│п╫я▀п╣ я└п╟п╨я┌я▀ я│п╪п╣я┬п╫я▀п╣ п╡п╦п╢п╣п╬ я│п╪п╣я┬п╫я▀п╣ п╦я│я┌п╬я─п╦п╦ п╦п╥ я│п╬я├я│п╣я┌п╣п╧