Действительно ли возможно сделать, ищут () операции по успешному возврату именованного канала?

A .bak файл, как определено по FileInfo.net является файлом резервной копии Windows или MacOS. Также согласно сайту, необходимо, вероятно, открыть .bak файл с программой, которая первоначально создала его. В настоящее время это зависит от типа .bak файла.

12
04.09.2016, 00:45
2 ответа

Каналы Seekable были предложены для ядра Linux, но я не знаю о рабочем патче для реализации их.

Вы могли использовать LD_PRELOAD'библиотека редактора, которая переопределяет lseek запрос к определенным файлам. Я не знаю ни о какой стандартной обертке с этой целью. Shadowfs мог бы помочь в записи той.

10
27.01.2020, 19:56
  • 1
    , я попробую маршрут LD_PRELOAD. Не самое большое решение, но должно быть выполнимым. –  Patrick 05.02.2012, 19:47
  • 2
    Btw, был бы, имея seekable канал быть необходимым для меньше, чтобы смочь следовать, передают по каналу тот же способ, которым он может следовать за файлом? Я спрашиваю в контексте, Следуют за каналом с помощью меньше? вопрос (Вы могли бы предпочесть отвечать там). –  Piotr Dobrogost 29.01.2015, 17:31
  • 3
    @PiotrDobrogost В контексте F команда в меньше, это было бы достаточно для меньше для обновления экрана, если это не получает вывода в течение секунды или около этого. Создание seekable каналов не помогло бы: соответствующее различие там - это F идет в конец файла, затем ожидает данных для появления мимо конца — но для канала, только прибывает конец файла, когда устройство записи закрывает файл. –  Gilles 'SO- stop being evil' 29.01.2015, 19:34

Если приложение звонит, ищут, то оно или повреждается или не предназначено для работы над каналами. Если первый, то этому нужно зафиксированный. Если последний, то это ожидает стремление на самом деле работать, таким образом, lieing и требование его работали, когда это не сделало, почти наверняка вызовет неправильную операцию.

Также, если файл журнала заменяется именованным каналом, то только один процесс мог читать из него за один раз. Это должен быть сокет вместо этого.

1
27.01.2020, 19:56
  • 1
    Не предназначенный для работы над каналами не означает работу наклона над каналами. Что, если приложение просто делает SEEK_END для получения в конец файла? Или возможно его выполнение SEEK_CUR для нахождения текущего местоположения. Ни один из них не вызвал бы проблем, если бы я лгал программе о результатах искания. Единственное место, которое повредилось бы, - то, если приложение пыталось возвратиться и перезаписать данные, уже записанные, который это не должно делать с файлами журнала. И да, я знаю о one-process-per-pipe ограничении. Это не будет проблемой. –  Patrick 06.02.2012, 01:17
  • 2
    Если все, что это делает, стремятся в конец добавить, то это должно просто открываться, файл в добавляют режим, таким образом, это попадает в поврежденную категорию. Приложения не пытаются найти текущее местоположение, если они не должны мочь искать где-то в другом месте и затем возвратиться в текущее местоположение, таким образом, оно падает в, "Вы повредите его тихо провальной" категорией. Очень маловероятно, что программа звонит, ищут, но действительно не нуждается в нем для работы (и если это делает, это падает в поврежденной категории). –  psusi 06.02.2012, 06:08
  • 3
    Не верный. Много приложений ищут в конец файла в случае, если некоторая другая программа записала в файл начиная с него, в последний раз сделал. Иначе при записи, где в настоящее время в ударял бы изменения другой программы. И если его чтение из файла, это могло бы хотеть использовать SEEK_CUR для получения его текущего местоположения так, чтобы, когда программа отшатывается, она могла возобновить, где это кончило. –  Patrick 06.02.2012, 07:00
  • 4
    @Patrick, для первого, если это добавляет его, должен вновь открыться, файл в добавляют режим. В этом случае Вы говорите о чтении, в этом случае, не имеет смысла пропускать новые данные, которые это еще не считало (и тихо игнорирование искания повредило бы это). Что касается последнего, если это пытается использовать, стремятся возвратиться к тому же положению после закрытия и повторного открытия файла, который повредится на канале, если Вы тихо проигнорируете искание, с тех пор когда это закрывает канал, сервер получает SIGPIPE, который, по-видимому, заставляет его сбросить так следующий клиент, который открывается, канал запускается вначале. –  psusi 07.02.2012, 01:47

Теги

Похожие вопросы