어떤 프로그램이 내 파일을 읽고 있는지 어떻게 알 수 있나요?

어떤 프로그램이 내 파일을 읽고 있는지 어떻게 알 수 있나요?

구성 파일이 있고 어떤 실행 파일이 이를 사용하고 있는지 알고 싶습니다(있는 경우). 이 파일을 읽는 사람이 누구인지 알고 싶습니다.

약간의 간격이 있으면 watch읽기가 너무 빨리 진행되기 때문에 놓칩니다.

watch -d -n 1 "lsof /home/me/my.conf"

의 지원을 받아 사용하고 있는 이 프로그램을 실행하려고 하면 strace추가 대기 시간이 발생하여 실패할 것입니다 strace.

strace -o /tmp/$(date +%s)_myprog.trace myprog

myprog파일을 읽지 않았다는 것을 어떻게 확실하게 증명할 수 있나요 ?

답변1

어떤 파일이 프로세스에 의해 열리는지, 또는 어떤 프로세스가 sysdig.

~에서sysdig 예시 페이지

기본 opensnoop:발생 시 열리는 파일 수신 대기

sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open

my.conf라는 모든 파일에 대한 I/O 활동을 관찰합니다.

sysdig -A -c echo_fds "fd.filename=my.conf"

형태시스템 파는 사람

이름 sysdig - 최종 시스템 및 프로세스 문제 해결 도구

개요 sysdig [옵션]... [필터]

설명하다.

   sysdig is a tool for  system  troubleshooting,  analysis  and  explo‐
   ration.   It  can  be used to capture, filter and decode system calls
   and other OS events.
   sysdig can be both used to inspect live systems, or to generate trace
   files that can be analyzed at a later stage.

   sysdig  includes  a powerul filtering language, has customizable out‐
   put, and can be extended through Lua scripts, called chisels.

관련 정보