Chinaunix首页 | 论坛 | 博客
  • 博客访问: 335716
  • 博文数量: 124
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 321
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-04 16:09
文章分类

全部博文(124)

文章存档

2014年(124)

分类: 嵌入式

2014-08-13 20:28:55

进程的概念:进程是一个独立的可调度的任务。是一个程序一次执行的过程。

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

,他是程序执行的过程,包括创建、调度、消亡,是程序执行的各种资源的总和,是资源管理的最小单位。
进程包括:正文段+用户数据段+系统数据段(进程控制块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()接收僵尸进程。

阅读(1279) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~