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. jQuery截取字符串插件区分中英文

    jQuery截取字符串插件区分中英文:截取字符串功能在大量网站都有应用,比如新闻列表这样的功能,因为新闻的标题长途未必都是恰如其分的,所以要根据需要截取指定长度的字符串,下面就分享一个jQuery实现 ...

  2. DropDownList自动生成年月日

    DropDownList自动生成年月日 aspx页面上有三个dropdownlist控件, dropdownlist1 表示年,dropdownlist2表示月,dropdownlist3表示天: 注 ...

  3. Freemarket学习笔记(一)

    一.常用三个指令 1.if指令 a.<#if condition></#if> b.<#if condition><#else></#if> ...

  4. Flask学习记录之使用Werkzeug散列密码

    数据库中直接存放明文密码是很危险的,Werkzeug库中的security能够方便的实现散列密码的计算 security库中 generate_password_hash(password,metho ...

  5. 自定义jdbc框架

    获取元数据 元数据- DataBaseMetaData DatabaseMetaData meta = con.getMetaData(); getDatabaseProductName().getD ...

  6. 驱动读写进程内存R3,R0通信

    stdafx.h 头文件代码 #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. #defin ...

  7. Heapsort 堆排序算法详解(Java实现)

    Heapsort (堆排序)是最经典的排序算法之一,在google或者百度中搜一下可以搜到很多非常详细的解析.同样好的排序算法还有quicksort(快速排序)和merge sort(归并排序),选择 ...

  8. 手工走一次OPENSTACK安装,掉一层皮啊

    掉皮也是值得的,对OS的了解慢慢加深. 最近加入CS的Q群也学到不少.

  9. 第三代搜索推出网民评价系统,seo末日还会远吗?

    昨天的360搜索可谓风光无限,两大搜索新品同日上线,至今360导航页面依旧飘荡着两者的身影,但是不少站长从此却是忧心忡忡,seo末日是否真的要到来了?笔者想起数日前写的一篇博文:seo末日言论频频来袭 ...

  10. HDU Train Problem I 1022 栈模拟

    题目大意: 给你一个n 代表有n列 火车,  第一个给你的一个字符串 代表即将进入到轨道上火车的编号顺序, 第二个字符串代表的是 火车出来之后到顺序, 分析一下就知道这,这个问题就是栈, 先进后出吗, ...