Kill -3을 사용하는 Java 스레드 덤프

Kill -3을 사용하는 Java 스레드 덤프

스레드 덤프를 가져오기 위해 다음 방법을 사용한 적이 있습니다.

kill -3 `pidof java`

catalina.out대신 이 출력을 파일에 저장하는 방법 catalina.out일반적으로 kill 명령은 이를 stdout 또는 stderr로 출력하지 않으므로 스크립트를 로그로 리디렉션하거나 exec를 사용하여 이를 수행할 수 없습니다. 그것을 얻기 시작했는데 그것을 할 수 있는 방법이 있습니까?

답변1

을 사용하고 싶을 수도 있습니다 jstack $(pidof java) > MYFILE.

답변2

이 도구는 Java 버전 7 이상에서 사용할 수 jcmd있으며 Oracle에서 권장하는 옵션입니다. 및 jcmd같은 여러 진단 도구의 기능을 집계합니다 .jstackjmap

다음 jcmd명령을 실행하여 PID가 1234인 프로세스의 스레드 덤프를 가져올 수 있습니다(출력이 파일로 리디렉션됨).

jcmd 1234 Thread.print > thread-dump.txt

자세한 내용은 여기를 참조하세요:jcmd 유틸리티,jcmd 매뉴얼 페이지

관련 정보