为什么我不能从PHP守护进程的子进程中删除文件?

时间:2010-01-20 16:56:56

标签: php daemon unlink

我正在使用以下提供的php Daemon类构建一个简单的PHP守护程序脚本:
http://www.phpclasses.org/browse/file/8958.html

我坚持这个课程的好坏,我没有太多时间来完成这件事;所以为了向守护进程发出自定义命令,我只是使用位于/ tmp目录中的命令文件。但是,我需要在守护程序处理其中包含的任何命令后删除此文件。

但是,当我尝试在PHP中“取消链接”文件时,取消链接操作会失败,文件仍然存在。我知道这不是权限问题。事实上,我很确定这与守护进程的每次“迭代”都是作为子进程生成的事实有关,并且该子进程必须以某种方式没有删除文件的权限。

我的问题:为什么PHP不能删除此文件,我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

/tmp通常设置了粘滞位,所以我相信只有存放文件的用户可以将其删除。您的子进程是否在与父进程(apache,www等)相同的用户下运行?哪个流程实例创建了文件?