브라우저를 통해 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만 볼 수도 있을 것 같습니다.