线程名称超过15个字符?
作者:互联网
通过使用prctl或pthread_set_name_np等函数,可以更改线程的名称.至少在Linux 2.6.38中,两个函数强加的限制是名称不能超过15个字符(NULL终止是第16个字节).
这15个字符的限制在哪里,是否有任何(甚至非正统的)方式?
更新:
正如评论中所提到的,这是由内核强加的.
定义可以在这里找到:
http://lxr.linux.no/linux+v2.6.37/include/linux/sched.h#L245
解决方法:
15-char限制由内核完成.
struct task_struct :: comm [TASK_COMM_LEN],宽度为16字节.
如果要增加内核,则必须重新编译内核.
标签:c-3,linux,unix,pthreads,introspection 来源: https://codeday.me/bug/20191005/1856848.html