pthread_setname_np(3) Library Functions Manual pthread_setname_np(3) NOM pthread_setname_np, pthread_getname_np - Definir ou obtenir le nom d'un thread BIBLIOTHEQUE Bibliotheque de threads POSIX (libpthread, -lpthread) SYNOPSIS #define _GNU_SOURCE /* Consultez feature_test_macros(7) */ #include int pthread_setname_np(pthread_t thread, const char *name); int pthread_getname_np(size_t size; pthread_t thread, char name[size], size_t size); DESCRIPTION By default, all the threads created using pthread_create() inherit the program name. The pthread_setname_np() function can be used to set a unique name for a thread, which can be useful for debugging multithreaded applications. The thread name is a meaningful C language string, whose length is restricted to 16 characters, including the terminating null byte ('\0'). The thread argument specifies the thread whose name is to be changed; name specifies the new name. La fonction pthread_getname_np() permet de recuperer le nom du thread. L'argument thread indique le thread dont le nom doit etre recupere. Le tampon nom est utilise pour renvoyer le nom du thread ; taille indique le nombre d'octets disponibles dans nom. La longueur du tampon indique dans nom doit etre d'au moins 16 caracteres. Le nom du thread renvoye dans le tampon de retour est termine par caractere nul. VALEUR RENVOYEE En cas de succes, ces fonctions renvoient 0 ; en cas d'erreur, elles renvoient un code d'erreur non nul. ERREURS La fonction pthread_setname_np() peut echouer avec l'erreur suivante : ERANGE La longueur de la chaine vers laquelle pointe nom depasse la limite autorisee. La fonction pthread_getname_np() peut echouer avec l'erreur suivante : ERANGE Le tampon indique par nom et taille a une taille insuffisante pour contenir le nom du thread. Si l'une de ces fonctions ne parvient pas a ouvrir /proc/self/task/tid/comm, alors l'appel peut echouer en retournant l'une des erreurs decrites dans open(2) ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |pthread_setname_np(), | Securite des threads | MT-Safe | |pthread_getname_np() | | | +---------------------------------+--------------------------+---------+ NORMES GNU ; d'ou le suffixe << _np >> (non portable) dans leur nom. HISTORIQUE glibc 2.12. NOTES pthread_setname_np() ecrit en interne dans le fichier comm du thread (dans le systeme de fichiers /proc) : /proc/self/task/tid/comm. pthread_getname_np() recupere le nom du thread a ce meme endroit. EXEMPLES Le programme ci-dessous illustre l'utilisation de pthread_setname_np() et de pthread_getname_np(). La session d'interpreteur suivant montre un echantillon d'execution du programme : $ ./a.out; Created a thread. Default name is: a.out The thread name after setting it is THREADFOO. ^Z # Suspend the program [1]+ Stopped ./a.out $ ps H -C a.out -o 'pid tid cmd comm' PID TID CMD COMMAND 5990 5990 ./a.out a.out 5990 5991 ./a.out THREADFOO $ cat /proc/5990/task/5990/comm a.out $ cat /proc/5990/task/5991/comm THREADFOO Source du programme #define _GNU_SOURCE #include #include #include #include #include #include #include #define NAMELEN 16 static void * threadfunc(void *parm) { sleep(5); // allow main program to set the thread name return NULL; } int main(int argc, char *argv[]) { pthread_t thread; int rc; char thread_name[NAMELEN]; rc = pthread_create(&thread, NULL, threadfunc, NULL); if (rc != 0) errc(EXIT_FAILURE, rc, "pthread_create"); rc = pthread_getname_np(thread, thread_name, NAMELEN); if (rc != 0) errc(EXIT_FAILURE, rc, "pthread_getname_np"); printf("Created a thread. Default name is: %s\n", thread_name); rc = pthread_setname_np(thread, (argc > 1) ? argv[1] : "THREADFOO"); if (rc != 0) errc(EXIT_FAILURE, rc, "pthread_setname_np"); sleep(2); rc = pthread_getname_np(thread, thread_name, NAMELEN); if (rc != 0) errc(EXIT_FAILURE, rc, "pthread_getname_np"); printf("The thread name after setting it is %s.\n", thread_name); rc = pthread_join(thread, NULL); if (rc != 0) errc(EXIT_FAILURE, rc, "pthread_join"); printf("Done\n"); exit(EXIT_SUCCESS); } VOIR AUSSI prctl(2), pthread_create(3), pthreads(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Frederic Hantrais et Jean- Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.18 8 fevrier 2026 pthread_setname_np(3)