Pergunta

Estou construindo um script de daemon PHP simples, usando uma aula de daemon PHP fornecida em:
http://www.phpclasses.org/browse/file/8958.html

Estou preso a esta aula para melhor ou para pior e não tenho muito tempo para fazer isso; Portanto, para emitir comandos personalizados para o daemon, estou apenas usando um arquivo de comando localizado no diretório /tmp. No entanto, preciso excluir esse arquivo depois que o daemon processou quaisquer comandos nele contidos.

No entanto, quando tento "desvincular" o arquivo no PHP, a operação desvinculada simplesmente falha e o arquivo permanece. Sei que não é um problema de permissões. Na verdade, tenho certeza de que isso tem algo a ver com o fato de que cada "iteração" do daemon é gerada como um processo infantil e que o subprocesso deve de alguma forma não ter permissão para excluir arquivos.

Minha pergunta: por que o PHP não pode excluir esse arquivo e o que posso fazer a respeito?

Foi útil?

Solução

/tmp Geralmente tem o conjunto de bits pegajoso, então acredito que apenas o usuário que depositou o arquivo pode excluí -lo. Os processos infantis são executados sob o mesmo usuário do processo pai (Apache, www, etc.)? Qual instância do processo criou o arquivo?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top