使用prctl PR_SET_NAME为进程或线程设置名称?

我正在尝试使用prctl( PR_SET_NAME, "procname", 0, 0, 0)来为进程设置名称,当我正在阅读有关PR_SET_NAME的Linux手册时,看起来像设置线程的名称,如果我理解正确。

prctl可以用来为进程设置名称吗? 如何为stream程设置名称?

是的,您可以在第一个参数中使用PR_SET_NAME ,并使用名称作为第二个参数来设置调用线程(或进程)的名称。 prctl成功返回0 。 请记住,这取决于你在哪里调用这个prctl 。 如果你在你的进程中调用它,它会改变这个进程的名字及其所有的线程。 如果你在一个特定的线程中调用它,它只会改变该线程的名字。

例:

 int s; s = prctl(PR_SET_NAME,"myProcess\0",NULL,NULL,NULL); // name: myProcess 

现在,如果您正在Linux中运行您的进程,请键入:

 top 

要么

 ps 

查看附加到进程ID的名称。