我已通过浏览器启动了 PHP 脚本,由于循环错误,即使关闭浏览器后脚本仍会继续执行。我注意到它是因为脚本正在将错误消息记录到我的日志文件(路径已知)中。
我们有一个 Apache 服务器,许多开发人员一起工作,用户是nmdev
.那么我怎样才能找出正在运行并记录到我的日志文件的进程呢?
ps -afe | grep php53
给了我今天的许多流程,例如:
nmdev 26518 24151 0 11:51 ? 00:00:00 /opt/xxx/yyy/apache-php5/bin/httpd -k start
答案1
我的问题的解决方案是使用:
/sbin/fuser /path/to/logfile
这给了我写入文件的所有进程。我把他们都杀了,毫不留情。问题解决了。
答案2
您可以使用lsof
查找访问某个文件的进程的 PID:
[rhusar@rhusar ~]$ ps xafu | grep cat
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cat 5700 rhusar 1w REG 0,29 57 13154551 /tmp/abc
但是,如果它通过 HTTPd 本身进行日志记录,我认为您可能只会看到 HTTPd 实例的 PID。