通过使用诸如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个字符的限制由内核完成。
struct task_struct :: comm [TASK_COMM_LEN],它是16字节宽。
如果要增加内核,则必须重新编译内核。