Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455

Как отключить на время KeyboardInterrupt?

13.09.2013, 15:02. Показов 3519. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли как-нибудь на время отключить срабатывание Ctrl-C ? Есть критическая часть кода, которую нельзя прерывать. Если конкретнее, то время от времени происходит запись в SQLite базу через SQLAlchemy... когда нажимаю Ctrl-C, то отлавливаю через try эксепшен и записываю определённые данные в таблицу, которые говорят о том, что работа закончилась.
Проблема в том, что если в момент нажатия Ctrl-C происходила работа с БД, то SQLAlchemy входит в ступор и больше в этой сессии не хочет работать с БД и при попытке финальной записи выдаёт кучу ошибок. Вот и подумал, что было бы удобно перед работой с БД запрещать KeyboardInterrupt, а потом обратно разрешать... но не нахожу как это можно сделать.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.09.2013, 15:02
Ответы с готовыми решениями:

Как отключить Avast на время игры
Здравствуйте! Подскажите, можно ли на время отключить Avast, чтобы он не тратил оперативную память пк? Через диспетчер задач и службы не...

Как на время отключить прорисовку контрола?
Во время выполнения метода несколько раз изменяется свойство контрола, что приводит к его перерисовке. Как выключить перерисовку до конца...

Как отключить скрипт во время анимации?
Когда мой персонаж делает атаку, он во время анимации может передвигаться, но я написал функцию которая отключает скрипт который отвечает...

1
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
13.09.2013, 21:19
Лучший ответ Сообщение было отмечено Humanoid как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import signal
 
def f(*args):
    print(args)
    print('hello')
 
signal.signal(signal.SIGINT, f)
 
# press Ctrl + C
 
signal.signal(signal.SIGINT, signal.default_int_handler)
 
# press Ctrl + C
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2013, 21:19
Помогаю со студенческими работами здесь

Как на время отключить обработку событий кнопок?
На форме есть две кнопки Btn1 и Btn2. При клике по Btn1 производятся достаточно длительные расчеты. На время этих расчетов мне надо...

Django: как отключить кеширование на время разработки
Здравствуйте! Дело вот в чем. Ошибаюсь где-нибудь в коде, получаю стандартную страницу error от джанги. Исправляю ошибку. Но страница...

Как отключить работу точек останова во время отладки?
Microsoft Visual Studio Community 2017 Версия 15.6.7 VisualStudio.15.Release/15.6.7+27428.2043 Microsoft .NET Framework ...

Как отключить прерывание во время рассылки с объектом Jmail?
Проблема заключается в следующем. Начинается рассылка. Все нормально, но неожиданно на каком-то процесс прерывается, выдается ошибка ...

Как отключить Ajax.ActionLink на время выполнения действия
Метод выполняется довольно долго и обработка повторных нажатий на ссылку в это время не требуется. Как отключить такую возможность...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru