进程主要分为
用户进程 ->termial
守护进程-> daemon 与终端无关的
调度进程  例如at crond命令的执行
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

进程一般是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 可以查看信号
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

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