작업자 스레드 풀을 사용하여 작업을 수행하는 Java 프로그램이 있습니다. 이러한 스레드는 동적이므로 프로그램은 스레드를 동적으로 생성하고 삭제합니다. 변수가 true일 때 스레드가 실행 중입니다.
public void run() {
while (!exit) {
따라서 스레드를 중지하는 것은 이 변수를 false로 설정하는 것입니다.
- 이 스레드 ID는 디렉토리에서 찾을 수 있습니다
/proc/$pid/task/$tid
. - 작업자 스레드에는 특정 이름이 있으므로
/proc/$pid/task/$tid/comm
.
그러나 스레드를 중지한 후에도 $tid
약 10분 동안 하위 디렉터리를 찾을 수 있습니다. 또한 /proc/$pid/task/$tid/status
Java 스레드를 중지한 후에도 아무런 차이가 없습니다 .
저는 이러한 (RedHat) Linux 프로세스/모니터링을 처음 접했지만 궁금했습니다. Java 작업자 스레드가 중지되었음을 "실시간으로" 알 수 있는 방법이 있습니까?