日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

【Linux 内核】进程管理 task_struct 结构体 ② ( state 字段 | stack 字段 | pid 字段 | tgid 字段 | pid_links 字段 )

發布時間:2025/6/17 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux 内核】进程管理 task_struct 结构体 ② ( state 字段 | stack 字段 | pid 字段 | tgid 字段 | pid_links 字段 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、task_struct 結構體字段分析
    • 1、state 字段
    • 2、stack 字段
    • 3、pid字段
    • 4、tgid 字段
    • 5、pid_links 字段


Linux 內核 中 , " 進程控制塊 " 是通過 task_struct 結構體 進行描述的 ; Linux 內核中 , 所有 進程管理 相關算法邏輯 , 都是基于 task_struct 結構體的 ;

task_struct 結構體在 linux-5.6.18\include\linux\sched.h 頭文件中 第 629629629 ~ 130013001300 行定義 ;





一、task_struct 結構體字段分析




1、state 字段


state 字段表示 進程狀態 ,

  • -1 時表示不可執行 ,
  • 0 表示可執行 ,
  • >0 表示已經停止 ;
/* -1 unrunnable, 0 runnable, >0 stopped: */volatile long state;

2、stack 字段


stack 是一個指針 , 指向 " 內核棧 " ;

void *stack;

3、pid字段


pid 表示該進程的 " 全局進程號 " ;

pid_t pid;

pid_t 是 int 類型的數據 ;

typedef int __kernel_pid_t; #ifndef __kernel_pid_t typedef int __kernel_pid_t; #endif

4、tgid 字段


tgid 表示 " 全局線程組 " 標志 ;

pid_t tgid;

5、pid_links 字段


pid_links 字段 是一個 哈希表 , 其中存放的是 " 進程號 " , 是 " 進程組標識符 "" 會話標識符 " ;

/* PID/PID hash table linkage. */struct pid *thread_pid;struct hlist_node pid_links[PIDTYPE_MAX];struct list_head thread_group;struct list_head thread_node;

總結

以上是生活随笔為你收集整理的【Linux 内核】进程管理 task_struct 结构体 ② ( state 字段 | stack 字段 | pid 字段 | tgid 字段 | pid_links 字段 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。