|
0 / 0 / 0
Регистрация: 09.03.2012
Сообщений: 19
|
|
Удаление файла в который ведется запись08.01.2013, 00:24. Показов 2124. Ответов 11
Метки нет (Все метки)
Имеется програмка, которая ведеть свой лог и записывает его в файл, запись ведется непрерывно. Все нормально записывается, команда tail работает с таким файлов великолепно.
Заметил нехорошую особенность. Если я в процессе работы с программой удаляю этот файл, например из командной строки то моя программа даже не замечает этого. Она просто перестает в него писать. Подскажите имеется какаялибо возможность проверки удачности записи. Для записи использую std::wofstream. Пробовал проверять через методы fail, good. eof Они никак не реагируют. Как вариант может быть открытие файла по новой перед записью, но данный вариант считаю накладным, запись ведется достаточно часто.
0
|
|
| 08.01.2013, 00:24 | |
|
Ответы с готовыми решениями:
11
Запись и удаление из файла Запись/Удаление строки из файла Запись в файл, считывание с файла, поиск и удаление |
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 08.01.2013, 13:10 | |||
|
Традиционный путь - после удаления файла просигналить процессу который пишет в файл о необходимости переоткрыть его. Другой вариант - отслеживать изменения в ФС man inotify
1
|
|||
|
0 / 0 / 0
Регистрация: 09.03.2012
Сообщений: 19
|
|
| 08.01.2013, 13:36 [ТС] | |
|
g_u_e_s_t, спасибо за советы. Посмотрю какой вариант менее накладен и выберу его.
Сейчас мысль родиласьеще одна, могу сделать hardlink на файл лога в нескольких папках. Решение правда не самое красивое но тоже каквариант.
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 09.01.2013, 17:29 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 09.03.2012
Сообщений: 19
|
|
| 09.01.2013, 18:04 [ТС] | |
|
g_u_e_s_t Я правильно понимаю что если если файл открыт, и в него ведется запись. А из другой программы я беру и переношу его в другое место, то данные будут продолжать писатся в негоже? Существуют ли способы блокировки файла пока в него ведётся запись?
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 09.01.2013, 18:22 | |||
|
Что бы Вы не делали с именем файла (rename()/unlink()) на уже отрытый дескриптор это не повлияет ни как. А если "переношу" это copy + unlink + create() то новый файл так и останется пустым, хоть и будет иметь старое имя.
0
|
|||
|
0 / 0 / 0
Регистрация: 09.03.2012
Сообщений: 19
|
|
| 09.01.2013, 18:30 [ТС] | |
|
Под "переношу" подразумеваю "открываю файловый менеджер и переношу файл из одного каталога в другой". Но как я понимаю устройство ФС в линуксе при "переносе" данные в самом файле никак не меняются и его inode остается прежним, а меняется только данные каталога. Вобщем ваше предложение понял. Спасибо.
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 09.01.2013, 18:34 | ||
0
|
||
|
deleted
177 / 50 / 5
Регистрация: 29.03.2013
Сообщений: 365
|
||
| 06.04.2013, 21:33 | ||
|
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 06.04.2013, 21:49 | |||
|
0
|
|||
|
deleted
177 / 50 / 5
Регистрация: 29.03.2013
Сообщений: 365
|
|
| 07.04.2013, 11:33 | |
|
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 07.04.2013, 12:04 | ||
|
Максимум, что на мой взгляд тут можно сделать - ловить и как-то обрабатывать (отказаться работать/создать свой файлнэйм.хххх.лог/...) такую ситуацию.
0
|
||
| 07.04.2013, 12:04 | |
|
Помогаю со студенческими работами здесь
12
Удаление символов из файла и запись в новый файл. Удаление цифр из строк 1 файла и запись в другой
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|