Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 查询已终止但等待加入的应用程序线程的正确命令是什么?_Linux_Shell - Fatal编程技术网

Linux 查询已终止但等待加入的应用程序线程的正确命令是什么?

Linux 查询已终止但等待加入的应用程序线程的正确命令是什么?,linux,shell,Linux,Shell,我一直在寻找一个正在运行的应用程序上有多少线程已经终止并等待加入的方法,但没有成功 我会叫他们僵尸。我想我们可以用ps、htop或top。但它们只显示活动线程。一旦线程函数返回,它们就会从列表中消失 我所看到的检测到“踏板泄漏”的唯一线索是虚拟内存使用情况,因为线程堆栈内存是在创建时分配的,在线程正确连接之前不会释放。但在生产环境中检测这种泄漏是一种复杂的方法 我想知道是否有更好的方法来显示应用程序创建的所有线程的列表,包括等待加入的线程。如果它们没有显示在top之类的程序中,我怀疑线程库中有数

我一直在寻找一个正在运行的应用程序上有多少线程已经终止并等待加入的方法,但没有成功

我会叫他们僵尸。我想我们可以用ps、htop或top。但它们只显示活动线程。一旦线程函数返回,它们就会从列表中消失

我所看到的检测到“踏板泄漏”的唯一线索是虚拟内存使用情况,因为线程堆栈内存是在创建时分配的,在线程正确连接之前不会释放。但在生产环境中检测这种泄漏是一种复杂的方法


我想知道是否有更好的方法来显示应用程序创建的所有线程的列表,包括等待加入的线程。

如果它们没有显示在
top
之类的程序中,我怀疑线程库中有数据,而不是操作系统。您可以使用
truss
查看父进程进行的所有系统调用。然后,您将看到创建的和终止的threads.Barmar——根据文档,在线程连接之前,不能重用tid。tid应该在内核端完成,对吗?所以我不确定内核可以依靠库来实现这一点。@Nic3500——这意味着我需要在启动进程之前对其进行检测。我正在寻找一种允许在生产中检查系统的方法。类似于RunPS的东西,用于运行线程和进程。或/proc/self/中的计数器,该计数器对应用程序或类似程序使用的所有tid进行计数。如果它们没有显示在
top
之类的程序中,我怀疑线程库中有数据,而不是操作系统。您可以使用
truss
查看父进程进行的所有系统调用。然后,您将看到创建的和终止的threads.Barmar——根据文档,在线程连接之前,不能重用tid。tid应该在内核端完成,对吗?所以我不确定内核可以依靠库来实现这一点。@Nic3500——这意味着我需要在启动进程之前对其进行检测。我正在寻找一种允许在生产中检查系统的方法。类似于RunPS的东西,用于运行线程和进程。或/proc/self/中的计数器,该计数器对应用程序使用的所有tid进行计数,或类似计数器。