Linux命令之进程的管理
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命令之进程的管理的更多相关文章
- Linux命令——用户和用户组管理
Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...
- Linux命令——文件和目录管理
Linux命令--文件和目录管理 基本命令 命令ls 作用:显示目录下的文件和文件夹 说明:默认显示当前目录,可跟路径参数 参数:-a,显示隐藏目录 参数:-l,显示文件权限 参数:-d,显示文件最后 ...
- Linux命令-终止进程命令:kill
kill -l 查看进程信号 常用信号 例如: 例子参见:Linux命令-查看进程命令:pstree
- linux命令之进程管理命令
1.ps:查看进程 该命令用于列出命令执行时刻的进程快照,如果想要动态的显示进程信息,可以使用top命令. 参数 说明 a(常用) 显示与终端相关的所有进程,包含每个进程的完整路径 x(常用) 显示与 ...
- 笔记常用Linux命令(二) 进程和端口
查看系统进程 ps:用于报告当前系统的进程状态 a:显示所有终端机下执行的程序 ps -ef/ps aux: 这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同. 如果想要查看特定的进程 ...
- linux 命令及进程控制
main.c main.o/main.obj main/main.exe 编译 连接 程序运行; 两步: gcc/g++ -c mai ...
- Linux命令-用户及权限管理
一.权限管理linux系统中对文件权限的描述机制: u g od r w x r w x r - x (r读,w写,x执行)文件 所有者 所属组 其他人可以表示为二进制: 111 111 101也可以 ...
- Linux命令(二十七) 用户组管理命令
Linux提供了一系列的命令管理用户组.用户组就是具有相同特征的用户集合.每个用户都有一个用户组,系统能对一个用户组中所有用户进行集中管理,通过把相同属性的用户定义到同一用户组,并赋予该用户自一定的操 ...
- Linux命令详解-用户管理
1. 用户管理 1.Linux用户管理 linux有三类用户: (1.)超级用户 : root用户具有操作系统的一切权限 uid=0 (2.)普通用户: 具有操作系统有限的权限 uid=500-60 ...
随机推荐
- javascript特殊运算符(in,instanceof,typeof,delete,void,逗号)
in运算符 in运算符要求其左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数十一个对象或数组.如果该 运算符左边的值是右边对象的一个属性名,则返回true, ...
- Nginx源码研究七:nginx的location指令分析
在nginx的配置文件nginx.conf中,我们在配置server的时候,会配置一下location指令,这个location指令是提供给用户来配置对于符合指令的http请求,采用该指令内部的处理方 ...
- python面试题大全
注:本面试题来源于网络,转载请注明来自http://www.cnblogs.com/goodhacker/p/3366618.html. 1. (1)python下多线程的限制以及多进程中传递参数的方 ...
- 初窥struts2(二)OGNL表达式
Struts2总结 Struts2完整的处理流程: 1 客户端发送请求,交给struts2控制器(StrutsPrepareAndExecuteFilter). 2 Filter控制器进行请求过滤 ...
- 也谈 Python 的中文编码处理
最近业务中需要用 Python 写一些脚本.尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息. 很快,我就遇到了异常: UnicodeEncodeError: ...
- Hadoop 学习笔记(二) HDFS API
4.删除HDFS上的文件 package proj; import java.io.IOException; import org.apache.hadoop.conf.Configuration; ...
- Regularized Linear Regression with scikit-learn
Regularized Linear Regression with scikit-learn Earlier we covered Ordinary Least Squares regression ...
- 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)
不过必须XP SP3以上才行.所有API大全: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).a ...
- Android AlarmManager实现不间断轮询服务
在消息的获取上是选择 轮询还是推送得根据实际的业务需要来技术选型,例如对消息实时性比较高的需求,比如微博新通知或新闻等那就最好是用推送了.但如果只是一般的消息检测比如 更新检查,可能是半个小时或一个小 ...
- BZOJ1754: [Usaco2005 qua]Bull Math
1754: [Usaco2005 qua]Bull Math Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 374 Solved: 227[Submit ...