您的位置:首页 > 其它

进程管理及作业控制

2011-07-27 23:57 330 查看
主要内容:

1.Linux进程管理 2.作业控制

1.进程:系统资源分派的单位,每个进程都有相应的优先级.

进程优先级:

1.动态优先级:0-99,实时优先级

2.静态优先级:100-139, nice值-20到19 对应10-139

nice(优雅):愿意把自己的优先级降低。把nice值调为5,高于0,很优雅的把机会

让了别人,作为普通用户只能优雅别人,即把nice值调高,降低自己的优先级,而root

则可以随意优雅。

进程管理常用命令:

1. ps : 查看进程

-e 显示所有进程

a 表示所有跟终端'无关'的进程

x 表示跟终端有关的进程

u 显示进程由哪个用户发起的

常用组合 ps axu ; axjf 显示进程关系

-f 显示完整信息

-F 显示额外信息

常用组合 ps -ef

j :jobs format,作业形式

H 显示进程间关系

-o 自定只显示那些字段

例: ps -eo pid,$cpu,comm

查看 cupsd进程

ps aux | grep cupsd

-u pgrep -u 查看某个特定用户的进程 只显示PID

-G -G 显示某个特定组的进程

pidof 查看某个进程的PID号

top ::实时显示进程信息

-b : 显示几次退出

-n : 显示几次退出

-d : 指定间隔时间 s

free 查看内存信息-m 以m为单位显示大小

uptime : 系统运行时间 1分钟 ...

vmstat : 内存使用信息 例:vmstat 3 5 每三秒显示一次 只显示5次

pstree : 查看进程树

2.进程个字段意义:

PID:进程号 表示进程存储空间 task_structure

PPID: 父进程进程号

init: 所有进程的父进程 (上帝进程) 开机启动的第一个进程 进程号1swatped 0

VSZ:虚拟内存集

RSC:实际内存集 内存页4k

tty :与哪个终端相关

TIME :获得CPU时间的和

START 该进程被触发启动的时间

COMMAND: 由哪个命令发起的

inint (3) 3.表示四级别三

加[ ] 为内核线程

[pdflush]将内存数据同步到硬盘上

(32bit) 内存分为两段 第一段为1G 内核空间 ; 第二段3G 用户空间

STAT: 进程状态

R : 1.运行态 runing 2.就需态 ready

runing-->sleep 等待I/O--> ready< --> running

D : 不可中断睡眠 Uninterruptible sleep ,这个进程正在完成其他的操作 如I/O

S : 可中断睡眠 Interruptible sleep ,无可做的工作

T : 停止态

Z : Zombie(僵尸态) 特殊状态 执行结束后没释放内存

1.系统结束指令后 进程自清理 在释放内存前(父进程清理内存空间)

2.父进程kill后 子进程在结束后 无法清理内存

3.孤儿进程 父进程完成任务后 子进程委托给init

< :表示高优先级进程

N :表示低优先级进程

+ :跟某个前台进程相关,属于某个前台进程组的进程.

s :某个会话的leader进程

l :某个多线程的进程

(thread 比进程更轻量级的资源分配单位,共享内存,资源争用机制)

进程和线程的区别:

内核空间和用户空间的区别:(只有内核空间的程序才能操作硬件)

内核空间和用户空间打交道的方法:

1).系统调用

2).中断

进程间通信:IPC

共享内存机制:

信号

结束进程:

kill

1)管理后台作业kill:

kill -l 列出当前kill能使用的信号

-1 重读一次参数的设置文件

-2 等同于Ctrl+c

-9 突然让一个进程死掉

-15 让一个进程正常的死掉

-18 让停止的进程继续运行 (bg)

-19 让运行的进程停下来歇会儿 (ctrl+z)

kill -n (常用)如何向另外一个进程发送信号,后跟另一个进程的进程号

jobs 查看当前所有作业

eg:kill -9 %1 将作业1突然kill掉(强行)

kill -KILL(常用)

2)kill进程:

kill 进程号 (只能后跟进程号,把某个进程kill掉默认发送的是15信号)

eg:kill 2288

killall 进程名 (killall后跟进程名)

pkill SIGNAL pattern

作业控制:

完成一个特定任务的一组进程

工作机制:

前台 发起命令后如果尚未完成就一直占用shell

eg: cp -r /etc /tmp/abc

后台 发起命令后释放shell

eg: cp -r /etc /tmp/abc &

nohup cp -r /etc /tmp/cba & (表示不但把此作业送到后台,而且让其与终端无关



ctrl+z 把命令送到后台去(在后台处于停止状态)

& 把命令送到后台(在后台处于running状态)

fg 把后台的作业重新调到前台

bg 作业号 把命令处于后台并在后台运行 eg:bg %2

jobs 查看当前处在后台的所有作业,第一列为作业号

fg n 调回第n个作业
本文出自 “魏巍的Linux酒吧” 博客,请务必保留此出处http://weiweilinux.blog.51cto.com/3349074/624957
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: