Từ task_struct
góc độ, các luồng của một tiến trình có cùng một nhóm trưởng ( group_leader
trongtask_struct
), trong khi các tiến trình con có một nhóm trưởng luồng khác nhau (mỗi tiến trình con riêng lẻ).
Thông tin này được tiếp xúc với không gian sử dụng thông qua các /proc
hệ thống tập tin. Bạn có thể theo dõi cha mẹ và con cái bằng cách nhìn vào ppid
trường trong /proc/${pid}/stat
hoặc .../status
(điều này mang lại cho cha mẹ pid); bạn có thể theo dõi các chủ đề bằng cách nhìn vào tgid
trường trong .../status
(điều này cung cấp id nhóm chủ đề, cũng là pid của nhóm trưởng). Các luồng của một tiến trình được hiển thị trong /proc/${pid}/task
thư mục: mỗi luồng có thư mục con riêng. (Mỗi quá trình có ít nhất một luồng.)
Trong thực tế, các chương trình muốn theo dõi các luồng của riêng họ sẽ dựa vào các API được cung cấp bởi thư viện luồng mà họ đang sử dụng, thay vì sử dụng thông tin cụ thể của HĐH. Thông thường trên các hệ thống giống Unix có nghĩa là sử dụng pthreads.