目录
一、进程概念
程序:
存放在磁盘上的指令和数据的有序集合(文件)
静态的
进程:
执行一个程序所分配的资源的总称
进程是程序的一次执行过程
动态的,包括创建、调度、执行和消亡
程序在RAM里,进程在ROM(磁盘)里
1、进程内容
BSS段:存放程序中未初始化的全局变量
数据段:已初始化的全局变量
代码段:程序执行代码(机器码) 。这部分区域的大小在程序运行前就已经确定,在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。
堆(heap):存放进程运行中被动态分配的内存段 。malloc等函数分配内存
栈(stack):局部变量(但不包括static声明的变量,static意味着在数据段中存放变量),函数参数,函数的返回值。可以把堆栈看成一个寄存、交换临时数据的内存区。
进程控制块(pcb):进程标志PID,进程用户, 进程状态、优先级,文件描述符表
2、进程类型
交互进程(最常用):在shell下启动。以在前台运行,也可以在后台运行
批处理进程:和在终端无关,被提交到一个作业队列中以便顺序执行
守护进程:和终端无关,一直在后台运行
3、进程状态
运行态:进程正在运行,或者准备运行
等待态:进程在等待一个事件的发生或某种系统资源
可中断
不可中断
停止态:进程被中止,收到信号后可继续运行
僵尸(死亡)态:已终止的进程,但pcb没有被释放 (Linux特有)
二、进程常用命令
1、查看进程信息
ps 查看系统进程快照 (ps -e显示所有进程 、ps -elf 显示进程详细信息)
top 查看进程动态信息
/proc 查看进程详细信息
ps 命令详细参数:
-e:显示所有进程
-l:长格式显示更加详细的信息
-f 全部列出,通常和其他选项联用
表头 |
含义 |
F |
进程标志,说明进程的权限,常见的标志有两个:
|
S |
进程状态。进程状态。常见的状态有以下几种:
|