回答
的PID可拍攝約32K值(sysctl kernel.pid_max
可以改變它),因此他們被重用的速度不夠快。開始時間可能會更好。 systemd將關於cgroupfs中的擴展屬性的每個進程信息(procfs也可以)工作,以避免pid-> attr映射的歧義。
線程和進程共享同一命名空間(你可以看到它在/proc/<pid>/task/<taskid>
),與<pid>
= <taskid>
爲進程的初始線程。 Pid命名空間限制可見pid的列表,但不會引入任何重疊;在主人跑步時,pid和任務ID保持獨特。
如果你正在談論getpid()
系統調用,那麼是的,每個進程的PID是唯一的。 不包括,也就是說,如果您在舊版本的Linux內核上使用線程。然後每個線程都可以擁有自己的進程ID。
從this discussion引用:
內核2.4.20使用NPTL (Native posix thread library)這是隨RH9內核。 RH8使用Kernel 2.4.18,它沒有實現NPTL(意思是每個線程都有自己的PID,因此它很好地描述了它在/ proc中的狀態)。 NPTL是POSIX線程的「真正」實現,意味着線程共享更多,包括PID。由於幾個原因,它是更有效的線程運行方式,但是,我不知道調試這些線程的任何簡單技巧。你怎麼知道當你的線程處於休眠狀態,而不是等待一個信號量,或者線程都在一個進程死亡,有很多線程等
NPTL已經部分Red Hat Enterprise Linux自版本3以來的版本,以及2.6版本以後的Linux內核版本。它現在是GNU C庫的完全集成部分。 2
即使是2.6.X的內核也有一個線程的虛擬進程。你可以看到線程進程的ID與ps auxf
:
root 2501 0.0 0.3 244448 25576 ? Ss Jul03 0:11 /usr/sbin/httpd
apache 2716 0.0 0.5 384776 46696 ? S Oct14 0:17 \_ /usr/sbin/httpd
apache 2717 0.0 0.5 382208 44304 ? S Oct14 0:11 \_ /usr/sbin/httpd
以下程序呼嚕了相同的PID兩個在Linux內核2.6.18主線程。從pthread_self()
返回的自我標識唯一標識線程。
#include <pthread.h>
void foo() {
printf("thread: pid = %d, self = %ld\n", getpid(), pthread_self());
}
main() {
pthread_t thread;
printf("main: pid = %d, self = %ld\n", getpid(), pthread_self());
pthread_create(&thread, 0L, foo, 0L);
pthread_join(thread, 0L);
}
輸出是:
main: pid = 13246, self = 46912496175248
thread: pid = 13246, self = 1084229952
- 1. EKCalendarItem的UUID是否真正獨一無二?
- 2. Android Build Model Number是否獨一無二?
- 3. 蒙面鍋是獨一無二的嗎?
- 4. CSR是獨一無二的嗎?
- 5. 東西是獨一無二的
- 6. numpy獨一無二總是一樣嗎?
- 7. numpy獨一無二
- 8. 獨一無二的幫助
- 9. facebook圖形用戶id是否獨一無二?
- 10. Firebase雲消息傳遞(FCM)令牌是否獨一無二?
- 11. 是否使列獨一無二強制創建索引?
- 12. 是否有孩子的PID?
- 13. 如何檢查一個Pid是否是Erlang中的Pid列表的成員?
- 14. 創造FactoryGirl值,其中每一個都是獨一無二的
- 15. 獨一無二的評價項目
- 16. 保存獨一無二的隨機數
- 17. 獨一無二的config.json for grunt uglify
- 18. Yii的 '獨一無二' 驗證在CFormModel
- 19. 如何確保新學生的ID是獨一無二的
- 20. cassandra中的主鍵是獨一無二的?
- 21. HTML頁面中的內容是獨一無二的?
- 22. python的內置類型是獨一無二的
- 23. 如何識別訪客是獨一無二的?
- 24. 從數組中獲取項目已經是獨一無二的
- 25. Dropbox核心api:rev是獨一無二的嗎?
- 26. 是否真的無服務器?
- 27. 如何使2列獨一無二?
- 28. 讓MySQL表格獨一無二
- 29. 如何讓PDF文件獨一無二?
- 30. 如何使多列獨一無二yii2
你在哪裏讀的? – itsbruce
也許這個問題已被重寫,而「不具有建設性」的地位不再相關?這個問題是網絡搜索中的第一個問題,答案正是我一直在尋找的。 –