程序是保存在硬盘中的可执行代码和数据的静态集合。
进程是在CPU及内存中处于动态执行状态的计算机程序。
一个应用程序可以有多个进程,一个进程可以有多个线程。
进程之间,使用独立的内存空间,占用系统资源较大。
线程之间,使用共享的内存空间,消耗系统资源较小。
查看进程:
ps : 查看静态的进程统计信息。
参数:
-A : 显示所有进程
-a : 除了终端之外的所有进程。
-u : 有效用户相关的进程。
x : 与a使用,可列出较完整信息。
输出格式 :
l : 详细将该PID的信息列出。
j : 工作的格式。
-f : 做一个完整的输出。
仅查看自己的bash相关进程: ps -l
例:
[[email protected] ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 2921 2919 0 80 0 - 27102 wait pts/0 00:00:00 bash
4 R 0 2961 2921 0 80 0 - 27033 - pts/0 00:00:00 ps
F : 代表进程标志,进程权限, 常见号码:
4 : 表示权限为root ;
1 : 表示此子进程仅可进行复制,而无法实际执行。
S: 代表进程的状态, 主要状态:
R(Running) : 该进程正在运行中。
S(sleep) : 该进程目前正在睡眠状态,但可以被唤醒。
D : 不可被唤醒的睡眠状态,这个进程可能在等待I/O的情况。
T : 停止状态,可能是在工作控制(后台暂停)或除错(traced)状态。
Z : 僵尸状态,进程已经终止但却无法被删除至内存外。
UID/PID/PPID : 代表此进程被该UID所拥有进程的PID/此进程的父进程PID。
C : 代表CPU使用率, 单位为百分比。
PRI/NI : 代表此进程被CPU所执行的优先级, 数值越小代表该进程越快被CPU执行。
ADDR : 与内存有关, 指出该进程在内存的哪个部分,- 为运行中。
SZ : 代表此进程用掉多少内存。
WCHAN :表示目前进程是否运行中。 - 表示运行中。
TTY : 登录者的终端位置, 远程登录(动态终端接口)
TIME : 使用掉的CPU时间。 是此进程实际花费CPU运行的时间。
CMD : 造成此程序的触发进程的命令是?