[gelöst] getPID() für threads

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ML1982
Beiträge: 32
Registriert: 19.09.2007 22:09:11

[gelöst] getPID() für threads

Beitrag von ML1982 » 29.09.2007 11:14:47

Hallo,

ich habe ein C/C++ Programm (robot) in dem mehrere Threads laufen, die mit pthread_create erstellt werden.

Unter htop kann man das sehr schön sehen:
Bild

Wie bekomme ich innerhalb eines threads die PID des threads? getPID() liefert mir nur die PID des robot-Programs

Kann ich den threads irgendwie Namen geben? Mit der ID, die in das erste Argument von pthread_create geschrieben wird kann ich unter top/htop/ps nicht viel anfangen..
Zuletzt geändert von ML1982 am 30.09.2007 12:50:08, insgesamt 1-mal geändert.

Benutzeravatar
uljanow
Beiträge: 529
Registriert: 20.09.2005 21:14:00

Beitrag von uljanow » 29.09.2007 16:56:02

Code: Alles auswählen

/* Obtain the identifier of the current thread.  */
extern pthread_t pthread_self (void) __THROW;

ML1982
Beiträge: 32
Registriert: 19.09.2007 22:09:11

Beitrag von ML1982 » 30.09.2007 12:34:37

Sorry, aber das ist die Thread-ID! Die bekomme ich auch bei pthread_create...

Ich will aber die PID die ich unter "htop" sehe... bzw. die die unter /proc stehen, afaik holt htop sich dort auch seine Informationen her.

ML1982
Beiträge: 32
Registriert: 19.09.2007 22:09:11

Beitrag von ML1982 » 30.09.2007 12:49:45


Benutzeravatar
MSfree
Beiträge: 11641
Registriert: 25.09.2007 19:59:30

Beitrag von MSfree » 30.09.2007 12:56:23

Es gibt übrigens den Befehl apropos. Mit apropos thread hättest du die manpage zu gettid auch finden können ;)

ML1982
Beiträge: 32
Registriert: 19.09.2007 22:09:11

Beitrag von ML1982 » 30.09.2007 13:19:46

cool, danke! den kannte ich noch nicht, sehr praktisch!!

Antworten