signals- все статьи тега


Что убило мой процесс и почему?

мое приложение работает как фоновый процесс на Linux. В настоящее время он запускается в командной строке в окне терминала. недавно пользователь некоторое время выполнял приложение, и оно таинственно умерло. Текст: убил был на терминале. Это случилось два раза. Я спросил, Если кто-то на другом терминале использовал команду kill, чтобы убить процесс? Нет. при каких условиях будет решать Linux чтобы убить мой процесс? Я считаю, что оболочка отображается "убита", потому что процесс умер по ...

Как я могу захватить SIGINT в Python?

Я работаю на Python-скрипт, который запускает несколько процессов и подключений к базе данных. Время от времени я хочу убить скрипт с помощью Ctrl+C сигнал, и я хотел бы сделать некоторые очистки. в Perl я бы сделал так: $SIG{'INT'} = 'exit_gracefully'; sub exit_gracefully { print "Caught ^C n"; exit (0); } Как мне сделать аналог этого в Python? ...

Можно ли захватить сигнал Ctrl+C и запустить функцию очистки, в режиме" отложить"?

Я хочу, чтобы захватить Ctrl+C (SIGINT) сигнал, отправленный с консоли и распечатать некоторые частичные итоги запуска. это возможно в Golang? Примечание: когда я впервые опубликовал вопрос, я был смущен Ctrl+C будучи SIGTERM вместо SIGINT. ...

В чем разница между информацией и сигналом?

Я собирался добавить дополнительный обработчик сигнала в приложение, которое мы имеем здесь, и я заметил, что автор использовал sigaction для настройки других обработчиков сигналов. Я собирался использовать сигнал. Чтобы следовать конвенции, я должен использовать sigaction, но если я писал с нуля, что я должен выбрать? ...

Могу ли я отправить ctrl-C (SIGINT) в приложение на Windows?

У меня есть (в прошлом) написанные кросс-платформенные (Windows/Unix) приложения, которые при запуске из командной строки обрабатывали пользовательский тип Ctrl -C комбинация таким же образом (т. е. для завершения приложения чисто). возможно ли в Windows отправить Ctrl -C/SIGINT / эквивалентно процессу из другого (несвязанного) процесса, чтобы запросить, чтобы он закончился чисто (давая ему возможность привести в порядок ресурсов и т. д.)? ...

Потоки и сигналы POSIX

Я пытался понять тонкости взаимодействия потоков POSIX и сигналов POSIX. В частности, меня интересует: каков наилучший способ контролировать, в какой поток подается сигнал (предполагая, что он не является фатальным в первую очередь)? каков наилучший способ сообщить другому потоку (который может быть действительно занят), что сигнал прибыл? (Я уже знаю, что это плохая идея использовать переменные состояния pthread из сигнала обработчик.) как я могу безопасно обрабатывать передачу информации о т ...

Вызов pthread cond сигнала без блокировки мьютекса

Я где-то читал, что нужно запереть мьютекс перед вызовом pthread_cond_signal и разблокировать mutext после вызова его: процедура pthread_cond_signal() является используется для сигнала (или пробуждения) другого нить, которая ждет на переменная условия. Так и должно быть вызывается после блокировки мьютекса и должен разблокировать мьютекс для того, чтобы pthread_cond_wait() обычной полный. мой вопрос: не это нормально, чтобы позвонить pthread_cond_signal или pthread_cond_broad ...

Как избежать использования printf в обработчике сигналов?

С printf не является реентерабельным, он не должен быть безопасным для использования в обработчике сигналов. Но я видел много примеров кодов, которые использует printf этот путь. поэтому мой вопрос: когда нам нужно избегать использования printf в обработчике сигнала, и есть рекомендуемая замена? ...

Поймать Ctrl+C / SIGINT и выйти из многопроцессорных изящно в python

Как я могу поймать Ctrl+C в многопроцессорной программе python и выйти из всех процессов изящно, мне нужно решение для работы как на unix, так и на windows. Я пробовал следующее: import multiprocessing import time import signal import sys jobs = [] def worker(): signal.signal(signal.SIGINT, signal_handler) while(True): time.sleep(1.1234) print "Working..." def signal_handler(signal, frame): print 'You pressed Ctrl+C!' # for p in jobs: # p.terminate() ...

Django: сигнал при входе пользователя в систему?

в моем приложении Django мне нужно запустить несколько периодических фоновых заданий, когда пользователь входит в систему и перестает запускать их, когда пользователь выходит из системы, поэтому я ищу элегантный способ получить уведомление о входе/выходе пользователя запрос статуса входа пользователя С моей точки зрения, идеальным решением будет сигнал, посланный каждым django.contrib.auth.views.login и ... views.logout метод django.contrib.auth.models.User.is_logged_in(), аналогично ... U ...

Где дампы записаны на Mac?

на Mac OS X, если я отправляю SIGQUIT в мою программу C, он завершается, но нет файла дампа ядра. вам нужно вручную включить основные дампы на Mac OS X (как?), или они записаны куда-то еще вместо рабочего каталога? ...

Каков правильный способ заставить мое приложение PyQt выйти, когда оно убито с консоли (Ctrl-C)?

каков правильный способ заставить мое приложение PyQt выйти, когда оно убито с консоли (Ctrl-C)? В настоящее время (я не сделал ничего особенного для обработки сигналов unix), мое приложение PyQt игнорирует SIGINT (Ctrl+C). Я хочу, чтобы он вел себя хорошо и ушел, когда его убьют. Как мне это сделать? ...