关于进程和程序的区别和概念:

      程序是一种静态的概念,本身作为一种软件资源长期保存。
      进程是程序的执行过程,是一个动态的概念,有一定的生命期,是动态产生和消亡的。
      程序和进程无一一对应关系。一个程序可以由多个进程共用;一个进程在活动中有可顺序地执行若干个程序。

父进程(ppid)与子进程(pid)之间的关系:
   
       1、子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程。
       如父进程终止,子进程没终止,子进程会变成孤儿进程,他的父进程会自动指向init。
       如子进程终止,父进程却没检测到,子进程会变成僵尸(z)进程。
 
       2、产生子进程会使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境,子进程会进行继承。

       3、父进程终止子进程自然终止。

关于前台进程和后台进程:

       前台进程指在前台进程,用户在它完成之前不能执行另一个命令。
       后台进程指在后台运行,在shell提示处打入命令后加入一个&,和shell同步运行。(后台进程必须是非交互式的)

jobs 观察目前的后台工作状态
-l 除了列出job number 与指令串之外,同时列出PID的号码
-r 仅列出正在背景run的工作
-s 仅列出正在背景当中暂停的工作

fg  观察前台的工作状态
%jobnumber :为工作号码,%可有可无

bg 让工作在后台下的状态变成运行中

kill 关闭进程
-l 列出目前kill能够使用的的讯号(signal)有哪些
-1:重新读取一次参数的配置文件
-9:立刻强制删除一个进程
-15:以正常的程序方式终止一项工作。

ps 查看当前时间段的程序运作情况
-A:所有的进程均显示出来,与-e效果相同
-a:不与终端有关的所有进程
-u:有效使用者相关的进程,一般与x一起使用,可列出较完整的信息。
l:详细的将该PID的信息列出与-e一起使用

如使用ps -l仅列出与你的操作环境(bash)有关的程序

ps -l 所显示出的资料

F(flags):代表这个程序旗标,说明这个程序的总结权限:
 若为4表示此程序的权限为root
 若为1则表示此子程序仅进行复制而没有实际执行

S(stat):代表这个程序的状态,主要状态有
 R(running):正在运行
 S(sleep):睡眠状态,可以被唤醒
 D:不可被唤醒的睡眠状态
 T(stop):停止状态
 Z(zombie):僵尸状态

UID/PID/PPID:程序拥有者/程序的PID/此程序的PPID

C(cpu):代表cpu使用率,单位为百分比

PRI/NI(priority优先级/nice):代表此程序被CPU所执行的优先级,数值越小优先级越高,NI范围为(-20 ~ 19)而普通用户能设置的NI范围为(0~19)。

ADDR(核心函数)/SZ/WCHAN:ADDR指出该程序在内存的那个部分,如果是个正在运行的程序,一般会显示“-”/SZ代表此程序用掉多少内存/WCHAN表示目前程序是否运作,运行则表示“-”

TTY:登入者的终端机位置,远程登录则使用动态终端接口(pts/n)

TIME:实际使用掉的CPU时间

CMD(command):所触发程序之指令是什么。

 

ps aux 观察系统所有程序

各字段的意义为:

USER:该进程属于哪个使用者账号
PID:进程的程序标识符
%CPU:该进程使用掉的CPU资源百分比
%MEM:该进程所占用的物理内存百分比
VSZ:该进程使用掉的虚拟内存(Kbytes)
RSS:该进程占用的固定内存量(Kbytes)
TTY:该进程是在哪个终端机上面运作,与终端无关显示?,          tty1-tty6是本机上面的登入者程序,若为pts/n等,则            表示远程连接。
STAT:该程序目前状态,与ps -l相同
START:该进程被触发启动的时间
TIME:该进程实际使用CPU运行的时间
COMMAND:该程序的实际命令

top:动态观察程序的变化(默认为5秒更新一次)
-d(date):后面接描述,是整个程序画面更新的秒数
-b:以批次的方式执行top?
-n:与-b搭配,意义是,需要进行几次top的输出结果

一般top命令动态显示不能全页显示 可利用
top -b |more 来批次的分页显示 这样查看的就是最新的数据

在top执行过程当中可以使用的按键指令:
?:显示在top当中可以输入的按键指令
p:以cpu的使用资源排序显示
M:以内存的使用资源排序显示
N:以PID来排序
T:由该进程使用的cpu时间累积排序
k:给予某个PID一个信号(signal)
r:给予某个PID重新定制nice值
q:离开top

uptime:观察系统启动时间与工作负载(top显示信息的第一行)

pstree  查看进程树

-A:各进程树之间的连接以ASCII字符来连接
-p:同时列出每个进程的PID
-u:同时列出每个进程的所属账号名称

killall 关闭进程

killall可以关闭相应指令的名称,kill只能关闭对应程序的ID

-i(interactive):交互式的,需要删除时会出现提示字符

nice 开始执行程序就立即给予一个特定的nice值
renice:调整已存在进程的nice值
root调整nice范围为(-20~19)普通用户为(0~19)
-n 指定数值

free:观察内存使用情况
-t 在输出的最终结果,显示物理内存与swap的总量

uname:查阅系统与核心相关信息
-a:所有系统相关的信息

netstat:追踪网络或插槽文件
-a:将目前系统上所有的联机、监听、socket(接口)都列出来
-t:列出tcp网络风暴的数据
-u:列出udp网络封包的数据
-l:列出正在网络监听(listen)的服务
-p:列出该网络服务的程序PID

dmesg:分析核心产生的讯息
可利用 dmesg |more分页查看 或|grep来过滤

 

这只是小弟学习的记录的一些笔记,发表只为激励自己学习,大家有问题请指正!