Linux平台查看某个进程的线程

2019-07-13 09:16发布

之前因为线程内出现异常导致Python部分线程退出,程序以单线程方式运行了好几个星期,浪费了很多时间。 如何查看当前进程有多少个存活线程呢? 方法1)pstree -p 4761(进程ID)。如下截图所示:
  方法2)cat /proc/4761(进程ID)/status。如下图所示:     方法3)top -p 4761(进程ID),然后按H。如下图所示:   为什么只有1个线程在running呢? 由于GIL的缘故,Python同时只能使用一个CPU核心,线程间要轮换执行,所以同时最多有一个线程在运行。 看下图,MySQL的多个线程就可以同时处于running状态,因为C++可以使用多个CPU核心。