A. Fig Lee wrote: zor0n wrote:Тем не менее, самое лучшее - это попытаться переформулировать задачу. Почему чужой процесс вообще должен удалять файл, который кому-то нужен. Это у Вас "IPC" так реализован или clean-up? Есть другие, более удобные способы.
![Mentor :umnik1:](./images/smilies/umnik.gif)
Не должен и не процесс. Но все может быть - ктонибудь может взять и удалить.
Какие более удобные способы? Изменения аккаунтов под которым бежит демон, пермишнс и т.д. не щитается - ето другая область, тоже будем делать, но надо бы программным путем локнуть.
Так не бывает. просто так файлы никто удалять не станет. Чтобы покоцать файл, всегда необходимо намерение. Как правило, ето один из нижеследующих вариантов:
- Файл пишется в "чужую" область (например, в чужой домашний каталог или в /етц/маил е т.п.) Выход очевиден: создайте "свой" каталог и пишите в него.
- Файл пишется в /tmp и удаляется "мусорщиком." Мусорщики во всех "нормальных" системах удаляют файлы из /tmp только если к ним не было доступа в течение определенного периода времени (1 месяц?). Выход - пишите чаще.
- Файл лежит в "своем" каталоге (напр. в /var/lib/myprogram/ или /var/run/myprogram/) и его все-равно кто-то убивает. Ето уже проблем административная: кому-то явно нечего делать. Вы, например, не будете писать программу, которая удаляет файл, не принадлежащий вам, правильно? Выход: поймать пользователя данного процесса и удалить у него что-нибудь.
Я бы начал решать вопрос в етом аксепте, а не техническом.
![Mentor :umnik1:](./images/smilies/umnik.gif)