Удаление временных файлов в Active Directory |
Здравствуйте, гость ( Вход | Регистрация )
Удаление временных файлов в Active Directory |
kwisp |
19.5.2009, 15:25
Сообщение
#11
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Qt необрабатывает события завершения консольного приложения. а могла бы в винде SetConsoleCtrlHandler Есть в линуксе сигналы по исходникам поискал SetConsoleCtrlHandler нигде не используется. все равно даже если бы тролли включили эту обработку то от ситуации когда шнур питания дернули это не спасёт верно же? поэтому считаю выход в темповой дирректории. |
|
|
Litkevich Yuriy |
19.5.2009, 15:44
Сообщение
#12
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
igor_bogomolov |
19.5.2009, 15:56
Сообщение
#13
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Можно еще воспользоваться void qAddPostRoutine ( QtCleanUpFunction ptr ). Если конечно не пугают глобальные функции и переменные.
Раскрывающийся текст
Файлы удаляются при любом закрытии консоли Попробуйте |
|
|
SABROG |
19.5.2009, 15:56
Сообщение
#14
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Выход в ОС и её администрировании. В той же винде бывает столько файлов накапливается временных, что просто жуть. Правда там программа по очистке диска, которая всплывает при нехватки памяти на диске.
Но все-равно. Имхо в ОС должен быть специальный тип файлов или список подконтрольных временных файлов, которые должны удаляться автоматически, если процесс его создавший не существует и ни одна другая программа этот файл не держит открытым. |
|
|
kwisp |
19.5.2009, 15:58
Сообщение
#15
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
SABROG |
19.5.2009, 16:02
Сообщение
#16
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
Авварон |
19.5.2009, 21:41
Сообщение
#17
|
Студент Группа: Участник Сообщений: 99 Регистрация: 26.4.2009 Пользователь №: 709 Спасибо сказали: 14 раз(а) Репутация: 0 |
вообще-то в линуксе для того сигналы и нужны, чтобы их перехватывали - нормальная программа ДОЛЖНА отслеживать SIGTERM (ctrl+c) тобы освободить ресурсы. Ясен пень, что если этого не сделать, то деструкторы объектов зваться НЕ будут - ОС всего лишь отчистит память. Хз как с этим в виндовзе, но в линухе переопределить SIGTERM просто необходимо. Другой вопрос, что должна быть какая-то реализация в Qt такого полуэкстренного выхода (эктренный это SIGKILL:)) - нужно смотреть QApplication
|
|
|
SABROG |
19.5.2009, 22:03
Сообщение
#18
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
А вообще в таких случая ОС кидает исключения какие-нибудь?
|
|
|
igor_bogomolov |
19.5.2009, 22:23
Сообщение
#19
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
А вообще в таких случая ОС кидает исключения какие-нибудь? Я пробовал исключения отловить, не вышло. Видимо не кидает, или у меня руки кривые.Еще пробовал atexit заюзать. Тоже не подошло. Сейчас вообще задумался над тем, чтобы унаследовать QCoreApplication и переопределить его метод winEventFilter. Для этого пока разбираюсь в libqxt. У них подобным образом сделан отлов событий клавиатуры. Еще читаю это. Сообщение отредактировал igor_bogomolov - 19.5.2009, 22:25 |
|
|
SABROG |
19.5.2009, 22:44
Сообщение
#20
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Ладно, не думаю, что в этом есть какой-то смысл. Даже если отловить момент, от вырубания электричества это не спасет.
Тут нужен комплекс мер и в пределах одного класса QTemporaryFile проблему не решить. А посему думаю, что тут удобнее будет использовать обычный QFile с известным именем и всякие проверки в момент запуска программы на его существование. |
|
|
Текстовая версия | Сейчас: 24.4.2024, 0:33 |