LInux進程/線程 各種id

 

參考:Linux公社 微信公衆號文章

一、進程與線程的異同

 1.進程是資源分配的基本單位,線程是系統調度的基本單位

2.進程是資源的集合,這些資源包括內存地址空間,文件描述符等,一個進程中的多個線程共享這些資源

3.CPU對任務進行調度時,可調度的基本單位是線程。如果一個進程中沒有其他線程,可以理解爲這個進程中只有一個主線程,該主線程獨享進程的所有資源。

4.進程的個體間是完全獨立的,線程間是彼此依存的並且共享資源。多進程環境中,任何一個進程的種植,不會影響到其他非子進程。而多線程環境中,父線程終止,全部子線程被迫終止。

 

二、各種ID

pid:進程id

tgid:線程組id,也就是線程組leader的pid,等於pid

tid/lwp:線程id,tid在系統提供的接口函數中更常用,lwp在用戶態命令中常用(ps)

 

pgid:進程組id,也就是進程組leader的進程id

 

 

                                          

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章