文章目录
linux系统中程序和进程的关系
首先我们认识什么是程序,进程。
程序
保存在硬盘,光盘等介质中的可执行代码和数据
文件中静态保存的代码
进程
在CPU及内存中运行的程序代码
动态执行的代码
父进程和子进程:
每个程序可以创建一个或多个进程
查看静态的进程统计信息命令
第一种方法
ps aux
# ps aux
a:显示终端上的所有进程
u:表示列出进程的用户
x:显示所有终端的进程
H: 显示运行的线程
红框 框出来的各列的含义
USER:进程的用户。
PID:进程的ID。
%CPU:进程占用的CPU百分比。
%MEM:占用内存的百分比。
Vsz:该进程使用的虚拟内存量(KB) 。
RSS:该进程占用的物理内存量(KB) 。
TTY:启动进程的终端名。不是从终端启动的进程则显示为?
STAT:该进程的状态((D:不可中断的休眠状态;R:正在运行状态;S:处于休眠状态,可被唤醒,T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;
z:僵尸进程,进程已经中止,但是部分程序还在内存当中
何为僵尸进程,一般来说当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。
START:该进程被触发启动时间。
TIME:该进程实际使用CPU运行的时间。
COMMAND:进程的启动命令。
第二种方法
ps -elf
查看静态的进程统计信息
-e:显示系统内的所有进程信息。
-l:使用长格式显示进程信息。
-f:使用完整的格式显示进程信息。
-a:显示所有进程pid。
-T:查看线程信息
ps -aT ###显示所有线程
这里可以看到,各列的选项与ps -aux 稍有不同
F:内核分配给进程的系统标记。
s:进程的状态。
UID:启动这些进程的用户。
PID:进程的进程ID。
PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
c:进