1.进程介绍

进程的分类:

进程一般分为交互进程、批处理进程和守护进程三类。

守护进程总是活跃的,一般是后台运行,守护进程一般是由系统在开机时通过脚本自动激活启动或由超级管理用户root来启动。比如在Redhat中,我们可以定义httpd服务器的启动脚本的运行级别,此文件位于/etc/init.d目录下,文件名是httpd,/etc/init.d/httpd就是httpd服务器的守护程序,当把它的运行级别设置为3和5时,当系统启动时,它会跟着启动。

由于守护进程是一直运行的,所以它所处于的状态是等待请求处理任务。

进程的属性:

进程ID(PID):是唯一的数值,用来区分进程;

父进程和父进程的ID(PPID);

启动进程的用户ID(UID)和所属的组(GID);

进程状态:状态分为运行R、休眠S、僵尸Z;

进程执行的优先级;

进程所连接的终端名;

进程资源占用:比如占用资源大小(内存、CPU占用量);

父进程和子进程:

它们的关系是管理和被管理的关系,当父进程终止时,子进程也随之而终止。但子进程终止,父进程并不一定终止。

2.进程管理

ps监视进程工具

ps为我们提供了进程的一次性查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该使用top工具;

ps的参数说明

l 长格式输出

u 按用户名和启动时间的顺序来显示进程

j 用任务格式来显示进程

f 用树形格式来显示进程

a 显示所有用户的所有进程(包括其他用户)

x 显示无控制终端的进程

r 显示运行中的进程

ww 避免详细参数被截断

常用的选项组合是aux和lax,还有参数f

ps aux或lax输出的解释:

USER 进程的属主

PID 进程的ID

PPID 父进程

%CPU 进程占用的CPU百分比

%MEN 占用内存的百分比

PRI 代表这个程序(可被执行的优先级)

NI 进程的NICE值,数值大,表示较少占用CPU时间

VSZ 进程虚拟大小

RSS 驻留中页的数量

TTY 终端ID

STAT 进程状态

D 不间断的睡眠(usually IO)

R 正在运行中在队列中可过行的

S 处于休眠状态

T 停止或被追踪

W 进入内存交换(从内核2.6开始无效)

X 杀掉的进程

Z 僵尸进程

< 优先级高的进程

N 优先级较低的进程

L 有些页被锁进内存

s 进程的领导者(在它之下有子进程)

l is multi-threaded (using CLONE_THREAD,like NPTL pthreads do)

+ 位于后台的进程组

WCHAN 正在等待的进程资源

START 启动进程的时间

TIME 进程消耗CPU时间

COMMAND 命令的名称和参数

ps的应用

  使用管道和more结合分页查看

  ps -aux|more

  输出进程信息到文件并查看

  ps -aux >ps001.txt

  more ps001.txt

  结合grep提取指定程序的进程

  ps aux|grep httpd

父进程和子进程的关系友好判断的例子

ps auxf|grep httpd

pgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行。在服务器的配置和管理中,这个工具常被使用。

用法:pgrep 参数选项 程序名

参数:-l 列出程序名和进程id

-o 进程的起始id

-n 进程终止的id

终止进程的工具 kill killall pkill

kill

语法:kill [信号代码] 进程id

(信号代码可以省略,常用的是-9,表示强制终止)

对于僵尸进程,可以使用kill -9 加强信号强制退出

killall

语法:通过程序的名字,杀死所有的进程

top 连续的监视系统任务

语法:top 参数

参数:

-b 以批量模式运行,但不能接受命令行输入

-c 显示命令行,而不仅仅是命令名

-d N 显示两次刷新时间的间隔,如:-d 5,表示两次刷新时间为5秒

-i 禁止显示空闲进程或僵尸进程

-n NUM  显示更新次数,然后退出。

-p PID 仅监视指定进程的id

-q 不经任何延时就刷新

-s 安全模式运行,禁用一些交互指令

-S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程

交互模式命令键位

space 立即更新

c 切换到命令名显示,

f,F 增加显示字段,或删除显示字段

h,? 显示有关安全模式及累积模式的帮助信息

k 提示输入要杀死的进程的id,目的是杀死该进程(默认信号为15)

i 禁止空闲进程和僵尸进程

l 切换到显法负载平均值和正常运行的时间等信息

m 切换到内存信息,并以内存占用大小排序

n 提示显示的进程数,如3就显示3个进程

o,0 改变显示字段的顺序

r 把renice 应用到一个进程,提示输入PID和renice的值

s 改变两次刷新时间间隔,以秒为单位

t 切换到显示进程和CPU状态的信息

A 按进程生命大小进行排序,最新进程显示在最前

M 按内存占用大小排序,由大到小

N 以进程ID大小排序,由大到小

P 按CPU占用情况排序,由大到小

S 切换到累积时间模式

T 按时间/累积时间对任务排序

W 把当前的配置写到/.toprc中

【来自 乐智的菜园子:www.cnblogs.com/AIThink 亲们,码字不容易,转载请注明出处。】

Linux命令之进程的管理的更多相关文章

  1. Linux命令——用户和用户组管理

    Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...

  2. Linux命令——文件和目录管理

    Linux命令--文件和目录管理 基本命令 命令ls 作用:显示目录下的文件和文件夹 说明:默认显示当前目录,可跟路径参数 参数:-a,显示隐藏目录 参数:-l,显示文件权限 参数:-d,显示文件最后 ...

  3. Linux命令-终止进程命令:kill

    kill -l 查看进程信号 常用信号 例如: 例子参见:Linux命令-查看进程命令:pstree

  4. linux命令之进程管理命令

    1.ps:查看进程 该命令用于列出命令执行时刻的进程快照,如果想要动态的显示进程信息,可以使用top命令. 参数 说明 a(常用) 显示与终端相关的所有进程,包含每个进程的完整路径 x(常用) 显示与 ...

  5. 笔记常用Linux命令(二) 进程和端口

    查看系统进程 ps:用于报告当前系统的进程状态 a:显示所有终端机下执行的程序 ps -ef/ps aux: 这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同. 如果想要查看特定的进程 ...

  6. linux 命令及进程控制

    main.c  main.o/main.obj  main/main.exe          编译                连接 程序运行;      两步: gcc/g++  -c  mai ...

  7. Linux命令-用户及权限管理

    一.权限管理linux系统中对文件权限的描述机制: u g od r w x r w x r - x (r读,w写,x执行)文件 所有者 所属组 其他人可以表示为二进制: 111 111 101也可以 ...

  8. Linux命令(二十七) 用户组管理命令

    Linux提供了一系列的命令管理用户组.用户组就是具有相同特征的用户集合.每个用户都有一个用户组,系统能对一个用户组中所有用户进行集中管理,通过把相同属性的用户定义到同一用户组,并赋予该用户自一定的操 ...

  9. Linux命令详解-用户管理

    1. 用户管理 1.Linux用户管理 linux有三类用户: (1.)超级用户 : root用户具有操作系统的一切权限 uid=0 (2.)普通用户: 具有操作系统有限的权限  uid=500-60 ...

随机推荐

  1. SERVER全局数组

    [HTTP_HOST] => www.eduoautoweb.com [HTTP_CONNECTION] => keep-alive [HTTP_ACCEPT] => text/ht ...

  2. js 联系电话验证实现

         var str=$('#tele').val();                                       var regPartton=/1[3-8]+\d{9}/;  ...

  3. centos 下搭建 php环境(1)

    3.PHP的安装 安装GD库(让PHP支持GIF,PNG,JPEG) 首先下载 jpeg6,libpng,freetype 并安装模块 wget http://www.ijg.org/files/jp ...

  4. Python几种创建list的方法的效率对比

    我们用 生成一个0到((1万倍n)-1)的list做例子 首先这种方式复杂度为平方级 ''' def test1(n): lst = [] for i in range(n*10000): lst = ...

  5. 转:Android布局优化

    categories: Android 在Android开发中,我们常用的布局方式主要有LinearLayout.RelativeLayout.FrameLayout等,通过这些布局我们可以实现各种各 ...

  6. strcmp() Anyone?

    uva11732:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_prob ...

  7. 业内人士详述SIEM建设的演进过程

    http://www.verydemo.com/demo_c289_i22006.html 4A http://www.verydemo.com/demo_c281_i40888.html 从SIEM ...

  8. OSSEC集合

    http://dcid.me/blog/2010/01/using-ossec-for-the-forensic-analysis-of-log-files/

  9. j2ee爬坑行之一:web容器

    什么是容器? servlet没用main方法,它们受控于另一个java应用程序,这个应用程序就称为容器. tomcat就是这样一个容器.当web服务器得到一个指向某servlet的请求,此时服务器不是 ...

  10. 转:Yii实战中8个必备常用的扩展,模块和widget

    转载自:http://www.yiiframework.com/wiki/180/yii8/ 在经过畅K网的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自 ...