Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 28, 2009 18:18:34

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с signal

в отдельном потоке выполняю sql запрос..

отлавливаю sigint через:

signal.signal(signal.SIGINT, sig)
signal.signal(signal.SIGHUP, sig)


def sig(signum, frame):
print "please wait..."
при нажатии CTRL+c происходит что то невероятное..что заставляет прекратить выполнение sql запроса…
если послать SIGHUP то все работает корректно..

мож встречалась у кого такая проблема?



Отредактировано (Авг. 28, 2009 18:18:56)

Офлайн

#2 Авг. 29, 2009 10:37:29

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2756
Репутация: +  184  -
Профиль   Отправить e-mail  

проблема с signal

Я так делал и всё было в порядке:

os.kill(PID, signal.SIGSTOP)



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Авг. 31, 2009 08:42:11

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с signal

я наверное неправильно обьяснил..:(

мне надо обработать except KeybordInterrupt что есть тоже самое что и signal.signal(signal.SIGINT, sig).

поведение что через

try:
...
except KeybordInterrupt:
print "please wait..."
что через
signal.signal(signal.SIGINT, sig)
одинаковое, тоесть некорректное, при нажатии CTRL+C отваливается связь с Ораклом..
хотя должно произойти только
print "please wait..."
нашел проблему вот сдесь…но год то там 94…и почему так получается если интерпретатор должен перехватить SIGINT а дальше обрабатывать его самостоятельно?

пытался ту же операцию назначить на
signal.signal(signal.SIGTSTP, sig)

он ничего не вышло..сигнал SIGTSTP игнорируется..



Отредактировано (Авг. 31, 2009 11:59:27)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version