您的位置:首页 > 运维架构 > Linux

linux学习总结进程与线程

2012-06-19 21:43 288 查看
进程的概念:进程是一个独立的可调度的任务。是一个程序一次执行的过程。

程序是静态的,是保存在磁盘上的指令的有序集合,没有执行的概念。进程是动态的

,他是程序执行的过程,包括创建、调度、消亡,是程序执行的各种资源的总和,是资源管理的最小单位。
进程包括:正文段+用户数据段+系统数据段(进程控制块PCB)。

进程的分类:

1.交互进程:由shell控制运行的,可以在前台,也可以在后台运行的。

-ps -ef | grep a.out
./a.out & 后台运行

2.批处理进程:

不属于某个终端,它被提交到一个队列中以便顺序执行
3.守护进程:

在后台运行,在linux启动时开始执行,在系统关闭时候才结束

进程的状态:

运行态: 正在运行或者准备运行的状态(就差CPU分配时间片)

等待态:又称睡眠态,(不占CPU,CPU不处理,等待着资源),分为可中断与不可中断状态,等待不可中断是杀不死的状态。
停止态:GDB可以设置断点,kill -20 ,ctrl +Z,可以使进程停止。
死亡态:又称僵尸态,一个已经终止的进程,但还是在进程向量数组中占有一个task_struct结构。

fork()函数创建子进程

父进程先结束则1号进程收养子进程
子进程先结束,父进程未结束,则子进程变成了僵尸进程,必须利用wait()接收僵尸进程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: