浅谈Linux进程管理
一 查看系统进程
在linux中,查看系统进程的命令为ps,常用格式为如下两个:
(1)ps aux:unix格式查看系统进程
(2)ps -le:linux格式查看系统进程
一般地,ps aux更常用,下面主要讲解ps aux命令
(一)查看系统所有进程
ps aux,使用BSD(UNIX)系统格式查看系统所有进程

(二)参数注解
USER --进程使用用户
PID --进程ID
%CPU -- 进程占用的CPU
%MEM --进程占用内存
VSZ --进程占用虚拟内存,单位为KB
RSS --进程占用物理内存,单位为KB
TTY --该进程所运行终端
(1)tty1-tty7:本地控制台终端(tty1-tty6:本地字符界面终端;tty7:图形终端)
(2)pts/0-255:虚拟终端,即远程终端
(3)?:由linux内核直接调用,不由终端调用
STAT -- 进程状态
(1)R--运行状态
(2)S--休眠
(3)T--停止
(4)s--包含子进程
(5)+ --后台进程
START --进程启动时间
TIME --占用CPU运算时间
COMMAND -- 产生进程的命令
二 查看系统运行状态
在linux中,用top命令来查看系统运行性能及状态。

参数解释:
(一)第一行:top
该行表示系统性能相关

需要注意的是,系统负载参数中,对于单核CPU,当负载>时,表示系统压力比较大,如果是n核CPU,当负载>n时,表示
系统压力比较大。
(二)第二行:Tasks
该行表示线程相关

参数解释:
tatal:线程总数
running:正在运行的线程
sleeping:正在休眠进程
stopped:已经停止进程
zombie:僵死进程(正在终止,但未终止的进程
(三)第三行:%CPU
该行表示CPU相关

参数解释:
us:用户模式占用cpu百分比
sy:系统模式占用cpu百分比
ni:改变过优先级的用户进程占用的cpu百分比
id:空闲cpu百分比
wa:等待输入输出进程占用cpu百分比
hi:硬终端请求服务占用cpu百分比
si:软中断请求服务占用cpu百分比
st:虚拟时间百分比,即若存在虚拟机,虚拟cpu等待cpu响应时间百分比
(四)第四行:%KiB Mem
该行表示系统内存情况

参数解析:
total:当前系统总内存
free:空闲内存
used:已用内存
buff/cache:缓存缓存内存
需要注意的是,当内存不够时,根据linux管理内存机制,会将buff/cache内存作为内存来使用。
(五)第五行:KiB Swap
该行表示系统交换分区

参数解析:
total:总分区大小
free:空闲分区大小
used:已使用分区大小
(六)第六行:系统进程状态行
该行表示当前系统进程运行状态,默认是按照cpu占用比例从大到小排列的,常见快捷操作:
M- 内存排序
P-CPU排序
N-PID排序

参数解析:
PID:进程ID,在系统中,唯一标识进程
USER:进程所有者
PR:优先级
NI:负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:共享内存大小,单位kb
S:进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
%CPU:进程占用cpu百分比
%MEM:进程占用内存百分比
TIME+:进程使用的CPU时间总计
COMMAND:进程命令
(七)top命令常用快捷键
1.ctr+z 停止
2.ctr+c 强制退出
3.q 退出
4.m 按内存排序查找
5.p 按PID排序
三 进程常用操作
(一)查看进程树
linux中查看进程树命令是pstree,要使用它,首先在linux上安装
yum install psmisc -y
1.查看默认进程树
pstree

2.带有PID的进程树
pstree -p

3.通过进程名查找
pstree -p | grep java

4.通过进程PID查找
pstree -ps 被查看进程PID

(二)终止进程
kill命令用来终止进程
1.查看进程信号
kill -l

列举几个常用信号:

2.强制杀死进程
kill -9 PID
(三)查看进程工作状态
在Linux中,从交互角度,我们习惯将进程分为前台进程和后台进程,所谓前台进程,即与用户交互的
进程,如top,vim命令,后台进程,即不需要与用户交互的进程。
1.查看后台工作进程
linux中,jobs -l 查看后台工作的进程

参数解释:
第一列:数字表示该进程倒数第几放入工作进程
第二列:只有倒数第一(+),倒数第二(-)放入的进程才有符号
第三列:进程PID
第四列:进程状态
第五列:进程信号标识
第六列:进程名
2.将后台进程恢复到前台
fg %工作号
需要注意的是,%可省略
3.将后台进程恢复后台
bg %工作号
需要注意的是,%可省略
四 系统资源查看
1.系统资源监控
vmstat [刷新延时(秒为单位) 刷新次数]

2.开机内核检测
dmesg用来检测开机时,linux内核情况,如检测 dmesg |grep cpu

3.查看内存使用
free 用来查看内存使用

4.查看cpu信息
cat /proc/cpuinfo

5.uptime查看系统启动时间和平均负载

6.查看系统与内核信息
uname 命令查看系统与内核信息

参数解释:
-a :查看系统相关信息
-s:查看内核名称
-r:查看内核版本
7.查看进程使用文件
lsof命令查看进程使用文件

参数:
-p :查看某个PID进程使用的文件
-u:查看某个用户使用的文件
-c:列出以字符串开头的进程打开的文件
版权区
- 转载博客,必须注明博客出处
- 博客园:http://www.cnblogs.com/wangjiming/ (侧重.NET)
- CSDN:https://blog.csdn.net/u010228798 (侧重JAVA)
- 如您有新想法,欢迎提出,邮箱:2098469527@qq.com
- 专业.NET之家技术QQ群:490539956
- 专业化Java之家QQ群:924412846
- 有问必答QQ群:2098469527
- 一对一技术辅导QQ:2098469527
浅谈Linux进程管理的更多相关文章
- 浅谈Linux内存管理机制
经常遇到一些刚接触Linux的新手会问内存占用怎么那么多?在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,在这 ...
- 【转载】浅谈Linux内存管理机制
经常遇到一些刚接触Linux的新手会问内存占用怎么那么多? 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,在 ...
- 浅谈Linux下/etc/passwd文件
浅谈Linux 下/etc/passwd文件 看过了很多渗透测试的文章,发现在很多文章中都会有/etc/passwd这个文件,那么,这个文件中到底有些什么内容呢?下面我们来详细的介绍一下. 在Linu ...
- 浅谈Linux中的信号处理机制(二)
首先谢谢 @小尧弟 这位朋友对我昨天夜里写的一篇<浅谈Linux中的信号处理机制(一)>的指正,之前的题目我用的“浅析”一词,给人一种要剖析内核的感觉.本人自知功力不够,尚且不能对着Lin ...
- 浅谈 Linux 内核无线子系统
浅谈 Linux 内核无线子系统 本文目录 1. 全局概览 2. 模块间接口 3. 数据路径与管理路径 4. 数据包是如何被发送? 5. 谈谈管理路径 6. 数据包又是如何被接收? 7. 总结一下 L ...
- []转帖] 浅谈Linux下的五种I/O模型
浅谈Linux下的五种I/O模型 https://www.cnblogs.com/chy2055/p/5220793.html 一.关于I/O模型的引出 我们都知道,为了OS的安全性等的考虑,进程是 ...
- Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博 ...
- (转)浅谈 Linux 内核无线子系统
前言 Linux 内核是如何实现无线网络接口呢?数据包是通过怎样的方式被发送和接收呢? 刚开始工作接触 Linux 无线网络时,我曾迷失在浩瀚的基础代码中,寻找具有介绍性的材料来回答如上面提到的那些高 ...
- Linux进程管理子系统分析【转】
本文转载自:http://blog.csdn.net/coding__madman/article/details/51298732 Linux进程管理: 进程与程序: 程序:存放在磁盘上的一系列代码 ...
随机推荐
- springboot中springAOP的使用
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- 持续集成高级篇之Jekins脚本参数化构建
系列目录 本系列已经很久没有更新了,接前面基础篇,本系统主要介绍jenkins构建里的一些高级特性.包括脚本参数化,Jenkins Pipeline与及在PipeLine模式下如何执行常见的传统构建任 ...
- python 06 深浅拷贝
目录 1. 小数据池 1.1 代码块 1.2 小数据池 1.3 执行顺序 (代码块--小数据池) 1.4 "=="和 "is" 2. 深浅拷贝 2.1 赋值 2 ...
- shell中if的各种判断
shell编程中使用到得if语句内判断参数 –b当file存在并且是块文件时返回真 -c当file存在并且是字符文件时返回真 -d当pathname存在并且是一个目录时返回真 -e当pathname指 ...
- JS实现停留几秒sleep,Js中for循环的阻塞机制,setTimeout延迟执行
//第一种,使用while循环 function sleep(delay) { var start = (new Date()).getTime(); while((new Date()).getTi ...
- 面试必备:常考Java基础知识总结(持续更新)
面试必备:常考Java基础知识总结(持续更新) 本文的Java方面基础知识是我在面试过程中的积累和总结. Java基本数据类型.所占空间大小及对应包装类 基本类型 大小 包装类 boolean - B ...
- NLP(十七) 利用DNN对Email分类
数据集 scikit-learn中20个新闻组,总邮件18846,训练集11314,测试集7532,类别20 from sklearn.datasets import fetch_20newsgrou ...
- x86—EFLAGS寄存器详解(转载)
鉴于EFLAGS寄存器的重要性,所以将这一部分内容从处理器体系结构及寻址模式一文中单独抽出另成一文,这部分内容主要来自Intel Developer Mannual,在后续的内核系列中遇到的许多和EF ...
- python语言输入
# 系统客户端包 import win32com.client speaker = win32com.client.Dispatch("SAPI.SPVOICE") # 系统接口 ...
- Windows平台python验证码识别
参考: http://oatest.dragonbravo.com/Authenticate/SignIn?returnUrl=%2f http://drops.wooyun.org/tips/631 ...