我有一个父进程,为每个客户端创建一个线程,如下所示:
pthread_create(&thread, NULL, interact, bundle);
然后我重命名每个踏板:
pthread_setname_np(thread, "some name");
在我的linux终端中运行命令“ps uH p”,我将获得当前在父进程中运行的线程详细信息,但它不提供我刚刚分配给它们的名称。
是否有任何特定的命令来运行和获取线程名称?
答案 0 :(得分:1)
正如pthread_setname_np
中所暗示的那样,新名称可以ps
格式说明符comm
访问,但不能args
或command
(这是什么通常打印):
ps H -C <cmd name> -o 'pid tid args comm'
说明了差异(改编自man
页面)。但是,我无法找到明确讨论这个问题的好文档。
此处,<cmd name>
是程序二进制文件的名称。