总结一下,此时的JVM里面,共计20个线程,进程打开了6个文件描述符.
面试题: 如何知道JVM中的线程个数,有哪些方法?...向JVM发送一个信号之后,那么JVM必然有一个线程来处理信号,而这个线程就是Signal Dispatcher线程.
我相信,读者朋友,通过jstack命令查看线程栈的时候,一定能看到这个线程....比如上文中,我们使用kill向指定的进程6617发送的3号退出信号,就是由进程6617中的Signal Dispatcher线程来处理的....Signal Dispatcher线程在收到并处理3号退出信号的时候,它会创建Attach Listener线程,也会创建一个socket文件描述符,这个socket文件描述符就是上文中看到的那个6号文件描述符...那么它是如何做到的呢?
首先,在代码中定义了一个 const char *filename = "/tmp/.java_pid6617"; 文件名, 我们看下这个文件.
6617就是进程ID.