Вопросы по теме 'signal-handling'

Можно ли использовать сигнал внутри класса С++?
Я делаю что-то вроде этого: #include <signal.h> class myClass { public: void myFunction () { signal(SIGIO,myHandler); } void myHandler (int signum) { /** * Handling code */ } }...
30629 просмотров
schedule 17.06.2022

Perl: установка обработчиков сигналов в разветвленном дочернем элементе, который выполняет
Я нашел ответ в разделе Управление обработкой сигналов для демонов, которые fork() очень полезно для того, что я делаю. Я не уверен, как решить «Поэтому вам нужно будет установить любую обработку сигналов в выполняемом процессе при его...
810 просмотров
schedule 15.06.2023

Установка обработчика сигналов с помощью Python
(есть ответ на этот вопрос здесь ) Я работаю над попыткой написать систему инициализации на основе Python для Linux, но у меня возникла проблема с получением сигналов для моего сценария инициализации Python. Со страницы «Убить человека 2»:...
5670 просмотров
schedule 27.05.2022

Matlab: можно ли создавать обработчики сигналов (скрипты .m)
Я просмотрел документацию и т. Д., Но я не вижу ничего очевидного. Я хотел бы иметь обработчик сигналов, который может перехватывать ^C , ^\ или какое-либо другое нажатие клавиши, которое можно было бы использовать для прерывания долго...
913 просмотров
schedule 15.05.2023

Ncurses: определение нажатия клавиши F1 и использование сигналов
я пытаюсь изучить библиотеку ncurses, и я придумал код ниже: #include <ncurses.h> #include <stdlib.h> #include <signal.h> static void finish(int sig); int main(int argc, char** argv) { char c; initscr(); raw();...
2937 просмотров
schedule 10.06.2023

Предоставление / передача аргумента обработчику сигнала
Могу ли я предоставить / передать какие-либо аргументы обработчику сигналов? /* Signal handling */ struct sigaction act; act.sa_handler = signal_handler; /* some more settings */ Теперь обработчик выглядит так: void signal_handler(int...
77224 просмотров
schedule 27.04.2022

Как вы перехватываете прерывание клавиатуры (CTRL-C) в Jython?
Это то, что я пробовал... from sun.misc import Signal from sun.misc import SignalHandler class InterruptHandler(SignalHandler): def handle(self): print "Shutting down server..." Signal.handle(Signal("INT"),InterruptHandler())...
1373 просмотров
schedule 26.04.2023

SIGINT также получен от дочерних процессов
У меня есть 2 программы (написанные мной). Первый, называемый «MAN», вызовет «D» (второй), который представляет собой процесс, который будет работать в фоновом режиме, пока не будет завершен каким-либо образом. Я хотел бы завершить MAN, не...
218 просмотров
schedule 08.05.2022

освобождение памяти внутри обработчика сигналов
Я пишу API, использующий сокеты. В API я выделяю память для различных элементов. Я хочу убедиться, что закрываю сокеты и освобождаю память на случай, если появится сигнал, например Ctrl-C. В ходе исследования выяснилось, что free () не входит в...
3710 просмотров
schedule 14.12.2022

Функцию, которая использует глобальную переменную, но завершает работу, следует избегать в обработчиках сигналов?
Изучая кое-что о программировании Unix с помощью C, я узнал, что внутри обработчика сигналов следует избегать функций, которые не могут быть реентерабельными, но если у меня есть что-то вроде: int main(int argc, char** argv){ ......
231 просмотров
schedule 10.03.2023

Сохранить переменную, возвращаемую обработчиком сигнала?
Я пишу приложение на Python 2.7 с использованием PyGTK 2. В основном я создаю виджет TreeView, заполняю его содержимым, а затем проверяю, изменился ли выбор. Когда это правда, я хочу, чтобы выбор был напечатан в поле TextView. Моя идея состоит в...
376 просмотров

Не удается получить сигнал в python на окнах
В окнах я пытаюсь отправить сигнал через скрипт Python и получить его в другом, но в принимающем скрипте мой обработчик сигнала не вызывается. Ниже приведены сценарии: signal.py import signal import os import sys import subprocess import time p...
827 просмотров
schedule 05.09.2022

backtrace_symbols не может распечатать ту самую функцию, которая вызвала сигнал
Я реализую простой регистратор сбоев для своего приложения на C++: static void handler(int, siginfo_t * info, void *) { void *array[1000]; switch (info->si_signo) { case SIGILL: Logger() << "Received SIGILL";...
774 просмотров

Как мне справиться с segfault и пройти мимо?
Я работаю над проектом на C, в котором используются связанные списки, и мне нужно выполнить сегментацию кода, чтобы доказать, что он не работает. Но мой код не может разбиться. Вот мой обработчик: typedef void sigfunc(int); sigfunc...
4806 просмотров
schedule 27.07.2022

Python – обрабатывать CTRL+D с помощью «сигнала импорта»
В настоящее время я могу обрабатывать CTRL + C через: def hand_inter(signum, frame): print 'hey, nice job.' signal.signal(signal.SIGINT, hand_inter) Однако я должен также обрабатывать CTRL + D , но не могу найти соответствующий вызов...
7696 просмотров

Получить прерывание клавиатуры в C
Программа: #include<stdio.h> void main() { int time=1800; while(1){ system("clear"); time-=1; printf("%d\n",time); sleep(1); if(time==0) pause(); } } Вышеупомянутая программа...
14404 просмотров
schedule 14.10.2022

Сигналы в заданном параметре sigtimedwait() не доставляются
Недавно я работал над обработкой сигналов в Linux и прочитал все концепции, связанные с обработкой сигналов. Один вопрос, который мучает меня, заключается в том, почему сигнал в наборе sigtimedwait() не доставляется, пока процесс разблокирован. Мой...
555 просмотров

Многопоточная обработка сигналов в C в Linux
Общий вопрос: что не так с моим кодом, так что все генерируемые сигналы не перехватываются двумя потоками обработчика? К сожалению, подробности моего плохого вопроса: я должен написать код с основной функцией, 3 потоками генератора для генерации...
3478 просмотров

Сигнал подключения QML от основного компонента к дочерним компонентам
У меня есть приложение Qt, которое вызывает qt_update_values() для основного компонента QML. Я хочу отправить новые значения конкретному делегату. Как подключить update_values() из основного компонента для получения определенным дочерним...
2539 просмотров
schedule 22.02.2023

Как бороться с errno и обработчиком сигналов в Linux?
Когда мы пишем обработчик сигнала, который может изменить errno, должны ли мы сохранять errno в начале обработчика сигнала и восстанавливать errno в конце? Как показано ниже: void signal_handler(int signo){ int temp_errno = errno; ***...
1104 просмотров
schedule 15.06.2022