Почему я не могу удалить файл из дочернего процесса PHP-демона?
Вопрос
Я создаю простой PHP-демонический скрипт, используя класс php-демона, предоставленный по адресу:
http://www.phpclasses.org/browse/file/8958.html
Хорошо это или плохо, но я застрял на этом занятии, и у меня не так много времени, чтобы это сделать;итак, чтобы выдавать пользовательские команды демону, я просто использую командный файл, расположенный в каталоге / tmp.Однако мне нужно удалить этот файл после того, как демон обработает все содержащиеся в нем команды.
Однако, когда я пытаюсь "разорвать связь" с файлом в PHP, операция разорвки связи просто завершается неудачей, и файл остается.Я точно знаю, что это не проблема с разрешениями.На самом деле я совершенно уверен, что это как-то связано с тем фактом, что каждая "итерация" демона создается как дочерний процесс, и этот подпроцесс каким-то образом не должен иметь разрешения на удаление файлов.
Мой вопрос:Почему PHP не может удалить этот файл, и что я могу с этим поделать?
Решение
/tmp
обычно установлен фиксированный бит, поэтому я считаю, что удалить его может только пользователь, который поместил туда файл.Выполняются ли ваши дочерние процессы под тем же пользователем, что и родительский процесс (apache, www и т.д.)?Какой экземпляр процесса создал файл?