Удаление временных файлов в Active Directory |
Здравствуйте, гость ( Вход | Регистрация )
Удаление временных файлов в Active Directory |
SABROG |
16.5.2009, 21:38
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Юзал QTemporaryFile для удаления временных файлов, но если приложение запускают прямо из сети, то временные файлы не удаляются. Точно такая же история и с vim/gvim, его файлики с тильдой "~" остаются на удаленном хосте, чем загаживают папочку с php скриптами на web сервере.
Я так понимаю используются какие-то нативные средства винды для управления временными файлами и Qt сама не удаляет файл, а рассчитывает на то, что это сделает ОС. Никто с этим не сталкивался? |
|
|
ViGOur |
17.5.2009, 18:59
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
SABROG |
17.5.2009, 19:09
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
ViGOur |
17.5.2009, 19:54
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Мда, попробуй в ближайшее время. Честно говоря не встречался с таким.
В исходнках класса QTemporaryFile копался? Чтобы узнать почему он так себя ведет. |
|
|
Andrewshkovskii |
18.5.2009, 16:50
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Глупо может, но... Если есть фиксированный список файлов, то удалить все "не нужные" файлики.нет?
|
|
|
SABROG |
19.5.2009, 12:41
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Попробуйте такой код. Непонятно почему не удаляет (даже не в Active Directory):
Если поменять так, то файл удаляется.
Че за фигня, деструктор QTemporaryFile не вызывается при ctr+c или закрытии консольного окна через крестик? Сообщение отредактировал SABROG - 19.5.2009, 12:49
Прикрепленные файлы
|
|
|
kwisp |
19.5.2009, 13:08
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
SABROG,
думаю может это связанао с тем что не закрываешь файл - он открыт на момент закрытия приложения. может стоит попробовать закрыть файл. при ctr+c или закрытии консольного окна через крестик? может код возврата влияет на работу деструктра. ctrl+c выход принудительный срочный, если не ошибаюсь, он не ноль возвращает точно так же и крестик окна консолного приложения. ----- проверил так оно и есть. код возврата влияет. получается нужно найти возможность выходить по qApp->quit() -- наверное так. Сообщение отредактировал kwisp - 19.5.2009, 13:28 |
|
|
SABROG |
19.5.2009, 13:54
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
получается нужно найти возможность выходить по qApp->quit() -- наверное так. Это бесполезно. Программы крашатся, свет вырубается, роутеры зависают и т.д. По сути класс QTemporaryFile бесполезен. Нужно еще программу допиливать до того, чтобы при запуске проверялись временные файлы и удалялись к чертям. Или папку temp вместе с программой создавать, если она существует при запуске - килять нафиг. Проблема только в том, что некоторыми программами можно пользоваться раз в год и если временный файл на несколько гигов, то будет очень обидно. P.S.: close() никак не влияет Сообщение отредактировал SABROG - 19.5.2009, 13:54 |
|
|
kwisp |
19.5.2009, 14:30
Сообщение
#9
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
P.S.: close() никак не влияет это проверил убдился. просто предположение было Это бесполезно. Программы крашатся, свет вырубается, роутеры зависают и т.д. ну что могу сказать, это мне кажется философский вопрос - нам тоже рекомендуют писать как можно защищенне от такого рода событий( на объекте женщина назовем её оператор на обучении сломала большим пальцем пробел на клаве после того как ей сказали "жми" ). я согласен что если задеть шнур ногой и этим вырубить питание либо сеть можно много косяков наблюдать. SABROG, а если файлы создавать в темповой папке которая раз в неделю или при перезапуске очищается? ну это уже к вопросу администрирования. тоже вариант. |
|
|
Litkevich Yuriy |
19.5.2009, 15:19
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 29.4.2024, 18:25 |