내 응용 프로그램 서버 폴더에서 발생하는 작업, 즉 프로세스 x에 의해 변경된 *.war
파일 또는 마지막 x 분 동안 변경된 파일 (바꾸거나 생성 된 파일) 을보고 싶습니다 .
리눅스에 도움이되는 툴이 있습니까?
내 응용 프로그램 서버 폴더에서 발생하는 작업, 즉 프로세스 x에 의해 변경된 *.war
파일 또는 마지막 x 분 동안 변경된 파일 (바꾸거나 생성 된 파일) 을보고 싶습니다 .
리눅스에 도움이되는 툴이 있습니까?
답변:
Strace (위에서 설명)는 지정된 실행중인 소프트웨어의 동작을 확인하는 한 가지 방법입니다.
같은 일부 명령 watch find dir/ -mmin 1
은 일부 디렉토리에서 지난 1 분의 변경 사항을 확인하는 데 도움이 될 수 있습니다.
정확히 당신이 찾고있는 것에 따라, inotify-tools 는 아마도 여기서 또 다른 거래 도구 일 것입니다.
예를 들어, inotifywait -mr dir/
주어진 디렉토리에서 변경 사항을 모니터링하고 파일을 열고 / 읽고 / 쓰기 / 닫으려는 응용 프로그램에 대한 피드백을 즉시 제공합니다. 그러나 inotify는 어떤 응용 프로그램이나 프로세스가 파일에 액세스하고 있는지에 대한 피드백을 제공하지 않습니다. 이는 strace가 수행하는 작업입니다.
컨테이너 수준 (예 : Tomcat) 만 볼 수 있지만 실제 응용 프로그램 (예 : .war)은 시스템과 상호 작용하지 않으므로 시스템 수준 모니터링은 일반적으로 일부 응용 프로그램 컨테이너 환경에서 실행되는 Java 소프트웨어에 제한적으로 사용됩니다.
strace
모든 파일 액세스를 포함하여 프로세스의 모든 시스템 호출을 모니터 하는 데 사용할 수 있습니다 .
프로그램을 시작할 때 :
$ strace ./myserver
PID를 통해 실행중인 프로세스에 strace를 연결할 수도 있습니다.
$ ps aux | grep myserver
me 1859 0.0 0.0 25288 424 ? Ss Sep02 0:00 myserver
$ strace -p 1859