进程主要分为
用户进程 ->termial
守护进程-> daemon 与终端无关的
调度进程  例如at crond命令的执行
 
进程一般是INIT发起的子进程,它的pid1,可以使用pstree命令查看
/proc 下可以查看进程信息
每个进程都有个PID,一般是1-32767
 
 
PS命令可以查看进程:
USER 表示发起用户
RUSER表示实际上市由谁发起的
EUSER 表示使用的是谁的权限
PID 表示进程PID
%CPU 显示CPU的使用率
%MEN 显示内存使用率
NI    nice值,优先级
VSZ  虚拟内存大小占用
RSS 物理内存大小占用
TTY那个tty发起的其中 ?是守护进程
STAT 进程状态
TIME 累积获得的CPU时间
COMMAND  哪个命令启动的子进程
 
 
其中STAT表示的进程状态
D表示不可中断
R正在运行或等待马上即可运行的
S可中断的sleep
T中断状态停止状态
Z僵死进程 例如一个进程的父进程被突然KILL了,他的子进程就变成僵死进程了 BUG程序会导致
每个标志号都可以带上修饰符
< 表示高优先级
N表示低优先级
L锁定在内存中的
+前台运行的
l 表示多线程的
 
 
 
 
 
命令PS常用来查看进程
BSD风格,一般不需要加上-
a 和终端有关的
x 和终端无关的
u 显示用户相关信息
 
o选项可以用户自定义显示,例如 只让显示与终端无关的pid ,   ps  xo pid
 
还有另一种风格,需要加上-
-e 全部进程
-f 所有信息
 
 
 
有个简练的命令,可以做选择的输出
Pgrep 支持正则表达式
Pgrep –U root –v(反向,非该用户的)
-G xxx
-l  1  包含1
 
如果知道进程名可以使用 pidof 进程名
 
 
 
信号!!!singal
Kill –l man 7 singal 可以查看信号
 
其中2中止相当于ctrl+C
5是优雅的中止
9 kill,强行杀掉
15相当于CTRL+Z
 
 
Kill可以用来杀掉进程,发出一个信号
Kill -9 XXX表示强行杀掉一个进程
相当于kill –kill xxx
 
Killall 进程名 可以杀掉所有相关的进程
-i 交互式
-v 支持正则表达式
 
 
 
 
 
Nice  可以调节一个进程的优先级
-20~19  值越小,优先级越高
Nice –n xxx(命令)
如果进程已经存在
Renice n –p pid可以修改相对于PID的进程
 
 
 
 
 
使用top命令可以动态查看进程
 
其中US   用户
Sy      内核
ni      nice
id    空闲
wa    等待
hi      硬件中断时间
si   软件中断时间
st   被偷走的(比如完全虚拟化的虚拟机占用)
mem
swap
 
 
top –b 批处理,换屏
top –n 2  刷新2
-d 1       1秒刷新一次
 
 
以上就是进程的基本知识
作业 jobs
使用ctrl+z可以把前台运行的程序放入后天
Jobs 可以查看当前后天运行的作业
Fg %n 即可调出后台的作业
Bg %n 则可以让后台的作业在后台运行
Kill    %n 可以kill掉一个作业