天天看点

processes 进程

 进程主要分为 :

用户进程 ->termial

守护进程-> daemon 与终端无关的

调度进程  例如at ,crond命令的执行

进程一般是init发起的子进程,它的pid是1,可以使用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 可以查看信号

processes 进程

其中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掉一个作业

继续阅读