![Linux 上的 Java 线程和 /proc/ 目录](https://linux22.com/image/211745/Linux%20%E4%B8%8A%E7%9A%84%20Java%20%E7%BA%BF%E7%A8%8B%E5%92%8C%20%2Fproc%2F%20%E7%9B%AE%E5%BD%95.png)
我有一个 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工作线程已停止?