什么是进程
进程的一般描述
在课本中,进程指的是程序的一个执行实例,正在执行的程序。
进程在linux系统中的具体表述
在linux中正在执行的程序与存放程序执行信息的数据结构二者的集合称为进程。 对于linux操作系统来说,系统并不直接管控程序,而是通过进程控制块(PCB :process control block),也就是存放程序执行信息的数据结构间接管理程序。 linux的进程控制块实际是一个叫作task_struct的结构体。他的位置在 /usr/src/kernels +内核版本+linux/include/sched.h中,用vim打开进入搜索模式,搜索 task_struct就可以找到了
task_struct的具体内容分类
- 标示符: 描述本进程的唯一标示符,用来区别其他进程。
- 状态: 任务状态,退出代码,退出信号等。
- 优先级: 相对于其他进程的优先级。
- 程序计数器: 程序中即将被执行的下一条指令的地址。
- 内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
- 上下文数据: 进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。 I/O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。
- 记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。
进程状态的各种分类
查看进程状态
使用ps -l出现了以下内容
- UID : 代表执行者的身份。
- PID : 代表这个进程的代号。
- PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号。
*PRI :代表这个进程可被执行的优先级,其值越小越早被执行。 - NI :代表这个进程的nice值。相当于PRI+=NI,可以通过控制nice值控制进程优先级。nice值在root用户下范围【-19,20】,普通用户【0,19】,防止过高的优先级可能造成的危害。
更改nice值
输入top,进入top后按r-> 输入进程pid-> 按回车-> 输入nice值
|