[devel] temporary file handling: questions

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пн Июн 16 00:02:13 MSD 2003


On Fri, Jun 13, 2003 at 02:30:39PM +0400, Alexey I. Froloff wrote:
> On Wed, Jun 11, 2003 at 12:19:20PM +0400, Dmitry V. Levin wrote:
> > > > Главное - сделать unlink(2) как можно раньше, и обязательно до
> > > > закрытия дескриптора файла.  Следует избегать файловых операций
> > > > с именем временного файла.
> > > Хм... А если этот временный файл (и не один) надо передать другой
> > > программе?
> > Все знают, что это, вообще говоря, плохо.
> > На эту тему статьи написаны, можно почитать.
> Стоп! Возьмём например rpm. Создаётся временный файл потом он
> "скармливается" шеллу. Как это сделать "хорошо"?

Не создавать временный файл где ни попадя.

> И почему "хорошо" - использовать mktemp(1) в shell-скриптах?

1. Не очень хорошо, можно посетить архивы списка рассылки BUGTRAQ и
почитать там исследования на эту тему.

2. "mktemp -t" использует $TMPDIR, который может быть гораздо безопаснее
/tmp.

3. В shell-скриптах доступно не так много методов межпроцессного
взаимодействия, по сравнению с C-программами.  Порой без временных файлов
не обойтись.


--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20030616/61a6c870/attachment-0001.bin>


Подробная информация о списке рассылки Devel