linux 进程
轻量级进程
一个进程有几个用户线程(线程)组成,每个线程都代表进程的一个执行流。
轻量级进程和每个线程关联起来,线程则可简单的 共享同一个内存地址、同一打开文件集等来访问相同的应用程序数据结构集;每个线程都可由内核独立调度,以便一个睡眠的同时另一个依然可行
进程描述符
内核用来了解进程的优先级,角色等符号
task_struck类型结构,字段包含与一个进程有关的所有信息
task_t 数据类型相当于struct task_struct
进程状态
可运行状态(TASK_RUNNING)—>执行
可中断的等待状态(TASK_INTERRUPTIBLE)—>进程挂起,直到某个条件为真
不可中断的等待状态(TASK_UNINTERRUPTIBLE)—>与可中断的等待状态相似,但信号传递到睡眠进程不能改变它的状态(很少用)
暂停状态(TSK_STOPPED)—>进程执行被暂停
跟踪状态(TASK_TRACED)—>进程执行已由debugger程序暂停,一个进程被另一个进程监控时,任何信号都可以把这个进程置于TASK_TRACED状态
僵死状态(EXIT_ZOMBIE)
僵死撤销状态(EXIT_DEAD)—>父进程刚发出wait4()或waitpid()系统调用,进程被删除
标识一个进程
进程标识符Process ID (PID),缺省下最大为32767(PID_MAX_DEFAULT -1)
/proc/sys/kernel/pid_max文件写入一个更小的值来减小PID的上限值。