The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  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 | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру