Почему я не могу удалить файл из дочернего процесса PHP-демона?

StackOverflow https://stackoverflow.com/questions/2103235

  •  21-09-2019
  •  | 
  •  

Вопрос

Я создаю простой PHP-демонический скрипт, используя класс php-демона, предоставленный по адресу:
http://www.phpclasses.org/browse/file/8958.html

Хорошо это или плохо, но я застрял на этом занятии, и у меня не так много времени, чтобы это сделать;итак, чтобы выдавать пользовательские команды демону, я просто использую командный файл, расположенный в каталоге / tmp.Однако мне нужно удалить этот файл после того, как демон обработает все содержащиеся в нем команды.

Однако, когда я пытаюсь "разорвать связь" с файлом в PHP, операция разорвки связи просто завершается неудачей, и файл остается.Я точно знаю, что это не проблема с разрешениями.На самом деле я совершенно уверен, что это как-то связано с тем фактом, что каждая "итерация" демона создается как дочерний процесс, и этот подпроцесс каким-то образом не должен иметь разрешения на удаление файлов.

Мой вопрос:Почему PHP не может удалить этот файл, и что я могу с этим поделать?

Это было полезно?

Решение

/tmp обычно установлен фиксированный бит, поэтому я считаю, что удалить его может только пользователь, который поместил туда файл.Выполняются ли ваши дочерние процессы под тем же пользователем, что и родительский процесс (apache, www и т.д.)?Какой экземпляр процесса создал файл?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top