我需要创建一个不能被其它脚本或程序被删除锁定文件的文件。我尝试这样做:如何锁定对外部进程
$f = fopen($pidFile, 'w');
fwrite($f, getmypid());
flock($f, LOCK_EX);
但任何其他进程从当前用户开始可以删除,即使文件句柄仍然由行书打开$f
文件。如何解决这个问题,并防止其他人(即非PHP进程)删除该文件?当进程退出时锁会自动释放?所有类似的问题都以RTM flock()结尾,但他们都没有回答如何锁定文件以抵御外部进程。
OS是Linux 2.6.32-431.el6.x86_64
'flock'是 “顾问”,不严格。使用[附加检查](http://stackoverflow.com/questions/20771824/php-test-if-file-is-locked),然后再对脚本中的任何文件进行处理。如果是关于你自己的PHP脚本的话,这将起作用。如果是关于外部过程 - 那么'flock'不能保存案例。 –
正如我在我的问题提到的,我需要锁定文件,以防止外部进程删除(即非PHP太) –