나는 이것이 오래된 질문이라는 것을 알고 있지만 누군가가 유용하다고 생각하는 경우를 대비하여 다른 접근법을 제안 할 것입니다. 나는 원래 이것에 대한 질문에 대한 답변으로 이것을 게시했습니다.
옵션 중 하나 sysdig
는 오픈 소스 시스템 모니터링 응용 프로그램입니다. 이를 사용하여 이름별로 파일의 활동을 모니터 할 수 있습니다. 당신이 프로세스라는 이름의 파일을 생성 있었는지보고 싶어한다고 가정하자 /tmp/example.txt
:
# sysdig fd.name=/tmp/example.txt
567335 16:18:39.654437223 0 touch (5470) < openat fd=3(<f>/tmp/example.txt) dirfd=-100(AT_FDCWD) name=/tmp/example.txt flags=70(O_NONBLOCK|O_CREAT|O_WRONLY) mode=0666
567336 16:18:39.654438248 0 touch (5470) > dup fd=3(<f>/tmp/example.txt)
567337 16:18:39.654438592 0 touch (5470) < dup res=0(<f>/tmp/example.txt)
567338 16:18:39.654439629 0 touch (5470) > close fd=3(<f>/tmp/example.txt)
567339 16:18:39.654439764 0 touch (5470) < close res=0
567342 16:18:39.654441958 0 touch (5470) > close fd=0(<f>/tmp/example.txt)
567343 16:18:39.654442111 0 touch (5470) < close res=0
해당 출력에서 touch
pid 5470으로 이름 지정된 프로세스 가 파일을 열었 음을 알 수 있습니다.
자세한 정보가 필요하면 시스템 호출 추적이 수집되는 "캡처 모드"에서 실행할 수 있습니다.
# sysdig -w /tmp/dumpfile.scap
그런 다음 파일이 작성 될 때까지 기다린 후 중지 sysdig
하고 실행하십시오.
# csysdig -r /tmp/dumpfile.scap
그러면 발생한 모든 것을 탐색 할 수 있습니다. 당신은 눌러 <F2>
선택 Files
, 언론 <F4>
, 파일 이름에 대해 다음을 눌러 검색 <F6>
(당신에게 위의 명령과 유사한 출력이 표시됩니다) "발굴"에. 이를 통해 동일한 접근 방식을 사용하여 실제로 파일을 작성한 프로세스에 대한 정보를 찾을 수 있습니다.
의 GUI 버전있다 csysdig
라고는 sysdig-inspect
그보다 차의 당신의 컵라면.