用prctl給執行緒命名 原始碼實現

2021-06-20 13:18:13 字數 1027 閱讀 9004

分類: linux 系統程式設計

對於多執行緒應用程式,如果能夠給每個執行緒命名,那麼除錯起來的便利是不言而喻的。

可以用prctl給程序內其它執行緒命名的介面,測試**如下:

#include

#include

#include

#include

void* pfunc(void *arg)

int main(void)

makefile:

.phony: all

all: thread

thread : thread.cpp

g++ -ggdb -wall -lpthread -o thread thread.cpp

clean:

rm -f thread *.swp

看thread程序,但是還看不到執行緒資訊

beauty@linux-gznp:~/code/test> ps aux | grep thread | grep beauty | grep -v grep

beauty    8364  0.0  0.3  10872   904 pts/2    sl   03:24   0:00 ./thread

再給ps加幾個引數就ok了。

ps -l -p `ps aux | grep thread | grep $user | grep -v grep | awk ''`

pid   lwp tty          time cmd

8364  8364 pts/2    00:00:00 thread

8364  8365 pts/2    00:00:00 xx

這裡的-l,也可以使用-t,只是打出的詳細資訊有點兒不同。具體如下:

-l              show threads, possibly with lwp and nlwp columns

-t              show threads, possibly with spid column

**:

用prctl給執行緒命名

對於多執行緒應用程式,如果能夠給每個執行緒命名,那麼除錯起來的便利是不言而喻的。可以用prctl給程序內其它執行緒命名的介面,測試 如下 include include include include void pfunc void arg int main void makefile phony ...

為執行緒命名 prctl

對於多執行緒應用程式,如果能夠給每個執行緒命名,那麼除錯起來的便利是不言而喻的。今天看lwn上的週報,看到有人正在給prctl新增給程序內其它執行緒命名的介面,並從中得知,給執行緒自身命名的介面已經存在,不由竊喜,遂寫下以下驗證 include include include void tmain ...

prctl 函式給執行緒命名

1.包含的標頭檔案為 sys prctl.h 2.函式用法 int 用法 prctl pr set name char name 3.pr set name表示給執行緒命名,第二個引數是程序名字串,長度至多16位元組 下面看使用示例 void c x threadcyclefunc void uns...