Coggle requires JavaScript to display documents.
task_struct
volatile long state; int exit_state;
ulimit -u
/usr/src/linux-headers-4.4.0-131/include/linux/sched.h
include/asm-i386/thread_info.h
struct pid_link pids[PIDTYPE_MAX]
struct task_struct *next_run, *prev_run;
struct wait_queue { struct task_struct *task; struct wait_queue *next; };
3.进程的族亲关系 struct task_struct *p_opptr //指向祖先进程PCB的指针 struct task_struct *p_pptr //指向父进程PCB的指针 struct task_struct *p_cptr //指向子进程PCB的指针 struct task_struct *p_ysptr //指向弟进程PCB的指针 struct task_struct *p_osptr //指向兄进程PCB的指针
4. 进程间的链接信息 struct task_struct *next_task //指向下一个PCB的指针 struct task_struct *prev_task //指向上一个PCB的指针 struct task_struct *next_run //指向可运行队列的下一个PCB的指针 struct task_struct *prev_run //指向可运行队列的上一个PCB的指针
进程的调度信息 long counter //时间片计数器 long nice //进程优先级 unsigned long rt_priority //实时进程的优先级 unsigned long policy //进程调度策略
6.进程的时间信息 long start_time //进程创建的时间 long utime //进程在用户态下耗费的时间 long stime //进程在核心态下耗费的时间 long cutime //所有子进程在用户态下耗费的时间 long cstime //所有子进程在核心态下耗费的时间 unsigned longtimeout //进程申请延时
8. 进程的文件信息 struct fs_struct *fs //进程的可执行映象所在的文件系统 struct files_struct *files //进程打开的文件 9.与进程间通信有关的信息 unsigned longsignal //进程接收到的信号 unsigned longblocked //阻塞信号的掩码 struct signal_struct*sig //信号处理函数表的指针 int exit_signal //进程终止的信号 struct sem_undo *semundo //进程要释放的信号量 struct sem_queue *semsleeping //与信号量操作相关的等待队列 10.其它信息 int errno //系统调用的出错代码 long debugreg[8] //进程的8个调试寄存器 char comm[16] //进程接收到的信号
union task_union { struct task_struct task; unsigned long stack[INIT_TASK_SIZE/sizeof(long)]; }