Повторное связывание анонимного (несвязанного, но открытого) файла

В Unix можно создать дескриптор анонимного файла, например, создав и открыв его с помощью creat ( ), а затем удалив ссылку на каталог с помощью unlink () - у вас останется файл с индексом и хранилищем, но нет возможности его повторно открыть. Такие файлы часто используются как временные файлы (и обычно это то, что вам возвращает tmpfile ()).

Мой вопрос: есть ли способ повторно прикрепить такой файл обратно в структуру каталогов? Если вы могли это сделать, это означает, что вы могли бы, например, реализовать запись в файл так, чтобы файл выглядел атомарно и полностью сформированным. Это взывает к моей навязчивой аккуратности. ;)

Просматривая соответствующие функции системного вызова, я ожидал найти версию link () под названием flink () (сравните с chmod () / fchmod ()), но, по крайней мере, в Linux этого не существует.

Бонусные баллы за то, что рассказали мне, как создать анонимный файл без краткого раскрытия имени файла в структуре каталогов диска.

31
задан ijw 13 November 2010 в 10:45
поделиться