加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何在Linux pthreads中设置线程的名称?

发布时间:2020-12-16 09:10:31 所属栏目:百科 来源:网络整理
导读:有没有办法在 Linux中设置线程的名称? 我的主要目的是在调试时提供帮助,如果通过例如的/ proc / $PID /任务/ $TID / … 解决方法 将prctl(2)函数与PR_SET_NAME选项一起使用(参见 the docs). 请注意,文档有点令人困惑.他们说 Set the process name for the c
有没有办法在 Linux中设置线程的名称?

我的主要目的是在调试时提供帮助,如果通过例如的/ proc / $PID /任务/ $TID / …

解决方法

将prctl(2)函数与PR_SET_NAME选项一起使用(参见 the docs).

请注意,文档有点令人困惑.他们说

Set the process name for the calling process

但由于Linux上的线程是轻量级进程(LWP),因此在这种情况下,一个线程就是一个进程.

您可以使用ps -o cmd或使用以下命令查看线程名称:

cat /proc/$PID/task/$TID/comm

或者在cat / proc / $PID / task / $TID / stat的()之间:

4223 (kjournald) S 1 1 1 0...

或者来自双引号之间的GDB信息线程:

* 1    Thread 0x7ffff7fc7700 (LWP 6575) "kjournald" 0x00007ffff78bc30d in nanosleep () at ../sysdeps/unix/syscall-template.S:84

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读