Russian Qt Forum
Октябрь 02, 2024, 15:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: SIGTERM не работает!  (Прочитано 4209 раз)
yarick
Гость
« : Август 13, 2013, 19:56 »

Хотелось бы, чтобы при выполнении команды kill myprogramm.exe - программа сохранялась и закрывалась.
Сделал так:
Код:
#include <signal.h>
//...
void quitHandler(int num)
{
    qDebug() << "quit";
}
//...
signal(SIGTERM, quitHandler);
Однако при отправке сигнала kill под windows 7 не работает код. И приложение не закрывается, и сообщение не выводится.
Вообще библиотека signal.h кроссплатформенна? Средства Qt для этой цели сколько не искал - не нашёл. Кто как решает проблему?
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #1 : Август 13, 2013, 20:04 »

Для винды смотри в сторону SetUnhandledExceptionFilter..для остальных ОС не знаю.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
maint
Гость
« Ответ #2 : Август 14, 2013, 02:38 »

вообще SIGTERM и SIGKILL разные сигналы
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #3 : Август 14, 2013, 10:14 »

http://msdn.microsoft.com/en-us/library/windows/desktop/ms685049%28v=vs.85%29.aspx
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #4 : Август 14, 2013, 19:25 »

Хотелось бы, чтобы при выполнении команды kill myprogramm.exe - программа сохранялась и закрывалась.

А програма kill посылает именно SIGTERM?
Записан
voral
Гость
« Ответ #5 : Август 15, 2013, 00:56 »

А програма kill посылает именно SIGTERM?
Да. Если не указано явно параметром.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #6 : Август 15, 2013, 03:05 »

А програма kill посылает именно SIGTERM?
Да. Если не указано явно параметром.

Это Unix kill, здесь же почти наверняка kill из pstools.
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #7 : Август 15, 2013, 20:58 »

А есть еще
taskkill.exe   /f  /im  myprogramm.exe
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 23.