我通过浏览器启动了一个 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
工具lsof文件的完整路径将为您提供访问该文件的所有进程的列表。
例子:
我@home〜%lsof / home / me 命令 PID 用户 FD 类型 设备大小/关闭节点名称 i3bar 1894 我 cwd DIR 8,3 32768 4718593 /home/me j4status 1895 我 cwd DIR 8,3 32768 4718593 /home/me germinal 1899 me cwd DIR 8,3 32768 4718593 /home/me
答案2
我的问题的解决方案是使用:
/sbin/fuser /path/to/logfile
这给了我所有写入文件的进程。我毫不留情地杀死了它们。问题解决了。