Wie bekomme ich die LWP PID von einer NPTL POSIX Thread Id?

10/01/2008 - 13:20 von Christian Hammers | Report spam
Hallo

Kann mir jemand einen Tipp geben, wie ich aus der POSIX Thread Id, wie
ich sie (unter Linux 2.6 mit NPTL) mit "pthread_self()" zurück bekomme
eine Linux "LWP" PID bekomme?

Da es ein Thread und kein Prozess ist, kann ich nicht getpid() benutzen,
mit "ps ax -L" bekomme ich aber etwas PID artiges angezeigt, was im selben
Nummernraum wie die normalen PIDs ist und mit ptrace/gdb benutzt werden kann.

Was ich suche ist also eine Funktion der Art
pid_t get_lwpid_from_thread_id(pthread_t id)

Oder Alternativ eine Möglichkeit mit "ps" die POSIX thread Id ausgeben
zu können.

tschüss,

-christian-
 

Lesen sie die antworten

#1 Rainer Weikusat
10/01/2008 - 13:35 | Warnen spam
Christian Hammers writes:
Kann mir jemand einen Tipp geben, wie ich aus der POSIX Thread Id, wie
ich sie (unter Linux 2.6 mit NPTL) mit "pthread_self()" zurück bekomme
eine Linux "LWP" PID bekomme?



Es gibt keine 'LWPs' in Linux, nur kernel tasks, die sich manche
Ressource teilen oder nicht teilen. Ansonsten: Wahrscheinlich gettid.

Ähnliche fragen