• 程序 是指令和数据的有序集合,是一个静态的概念
• 进程 代表一个正在运行的程序的实例
• 线程 通常在一个进程中可以包含若干个线程

进程

• 在运行程序的命令末尾加上 & 符号,就可以让程序在后台运行

./a.py &

• 若程序正在前台运行,可以使用 Ctrl+Z 把程序暂停
• jobs 查看运行的程序
• bg 把暂停的程序放到后台运行
• fg 把一个程序掉调前台运行

查看进程

1. ps -ef

屏幕快照 2018-07-03 下午7.22.00.png

UID    程序被该 UID 所拥有
PID    就是这个程序的进程ID 
PPID   则是其上级父程序的进程ID 
C      表示CPU使用的资源百分比 
STIME  表示进程启动时间
TTY    登入者的终端机位置
TIME   使用掉的 CPU 时间。 
CMD    所下达的指令为何

ps -ef | grep python
屏幕快照 2018-07-03 下午7.29.26.png

2. ps aux

屏幕快照 2018-07-03 下午7.30.23.png

USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty) 
STAT: 该行程的状态,linux的进程有5种状态:
         D 不可中断 uninterruptible sleep (usually IO) 
         R 运行 runnable (on run queue)
         S 中断 sleeping
         T 停止 traced or stopped`
         Z 僵死 a defunct (”zombie”) process
         注: 其它状态还包括W(无驻留页), <(高优先级进程), N(低优先级进程), L(内存锁页).
START: 行程开始时间 
TIME: 执行的时间 
COMMAND:所执行的指令

3. -ef 与 aux 的区别

• 展示风格不同aux是BSD风格,-ef是System V风格
• aux会截断command列,而-ef显示出来就是带全路径的进程名,当结合grep时这种区别会影响到结果
• man ps

top命令

屏幕快照 2018-07-03 下午7.37.11.png

load average 平均负载 1, 5, 15分钟 
total 物理内存总量
used 使用中的内存总量
free 空闲内存总量
buffer/cache 缓存的内存量

可执行的命令:

M  内存排序
P  CPU排序
q  退出
1  显示每个逻辑CPU的状况

含义:

PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

结束进程

• 结束前台进程CTRL+C
• kill 结束指定进程ID, 加 -9 强制
• pkill 进程名

查看当前登录用户

w

屏幕快照 2018-07-03 下午7.55.42.png

pkill -9 -t pts/1 把终端pts/1的用户踢出去

Last modification:July 3, 2018
If you think my article is useful to you, please feel free to appreciate