![응용 프로그램을 실행하여 어떤 파일이 생성, 읽기 또는 업데이트되는지 알 수 있는 방법이 있습니까? [복사]](https://linux55.com/image/80314/%EC%9D%91%EC%9A%A9%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EC%97%AC%20%EC%96%B4%EB%96%A4%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EC%83%9D%EC%84%B1%2C%20%EC%9D%BD%EA%B8%B0%20%EB%98%90%EB%8A%94%20%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%EB%90%98%EB%8A%94%EC%A7%80%20%EC%95%8C%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
실행 중인 애플리케이션에서 읽거나 생성하거나 업데이트한 모든 파일을 나열하고 싶습니다.
답변1
답은 안에 있다프로그램 I/O 모니터링많은 Unix opensnoop
(Solaris뿐만 아니라)에서 사용할 수 있습니다.
답변2
프로세스에 대해 필요한 모든 정보를 한 곳에서 제공하는 앱이나 도구는 없습니다. 그러나 몇 가지 사실을 알면 Linux
그만한 가치가 있습니다. 첫째, 모든 것은 하나이다 file
. 정보를 얻기 위해 파일을 간단히 분류할 수 있기 때문에 이것은 좋습니다. 두 번째는 프로세스에 대해 필요한 모든 정보가 거기에 있다는 것입니다 /proc
. 상위 프로세스가 있으면 PID
거기에서 프로세스에 대해 원하는 것을 찾을 수 있습니다. 나는 추천할 것이다 man proc
.
답변3
프로세스 ID를 가져옵니다( firefox
예를 들어 두 번째는 검색 자체를 grep
숨기는 것입니다 ).grep
ps aux | grep firefox | grep -v grep
다음과 같은 결과를 얻게 됩니다:
<login> <pid> .... /path/to/program
그럼 당신은 file
실행할 수 있습니다/proc/pid/fd/*
file /proc/1809/fd/*
다음과 같은 결과를 얻게 됩니다:
....
/proc/1809/fd/94: symbolic link to `/home/pp/.mozilla/firefox/79bmloy7.default/formhistory.sqlite'
/proc/1809/fd/96: symbolic link to `/home/pp/.mozilla/firefox/79bmloy7.default/signons.sqlite'
....