一、进程管理
1.静态查询
ps 是显示瞬间行程的状态,并不动态连续;如果想对进程运行时间监控,应该用 top 工具
1) #ps -ef
-e 显示所有进程,环境变量
-f 显示全格式
下面是列标题的详解:
UID: 用户ID
PID: 进程ID
PPID:父进程ID
C: CPU占用率
STIME:开始时间
TTY: 开始此进程的TTY
TIME: 次进程运行的总时间
CMD: 此进程执行的命令
2) #ps aux
-a 显示终端上地所有进程、包括其他用户地进程
-x 显示没有控制终端地进程
-au 显示较详细的资讯
下面是列标题的详解:
USER: 进程拥有者
PID: 进程ID
%CPU: CPU的占用率
%MEM: 内存占用率
VSZ: 占用的虚拟内存大小
RSS: 占用物理内存大小
TTY: 终端次要装置号码
STAT: 该进程的状态
START: 进程开始的时间
TIME: 进程执行的时间
COMMAND: 进程执行的命令
2.动态查询
1) #top
详细解释:
第一行:
17:55:37: 系统当前时间
32 min: 已经运行32分钟
1 user: 一个用户
load average 0.00, 0.00, 0.00 : 1 分钟, 5分钟, 15分钟的负载情况
l
oad average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了
第二行:任务、进程
共有119个进程, 1个在跑, 118个休眠, 停止状态的有0个,僵尸进程有0个
第三行:
cpu状态
0.0%us: 用户空间占用cpu的百分比
0.2%sy: 内核空间占用cpu的百分比
0.0%ni: 改变过优先级的进程占用的cpu百分比
99.8%id: 空闲cpu百分比
0.0%wa: IO等待占用cpu的百分比
0.0%hi: 硬中断占用cpu的百分比
0.0%si: 软终端占用cpu的百分比
0.0%st:
第四行:内存状态
物理内存总量、使用中的内存总量、空闲内存总量、缓存的内存量
第五行:swap交换分区
交换区总量、使用的交换区总量、空闲的交换去总量、缓冲交换区总量
第七行:
PID: 进程id
USER: 进程所有者
PR: 进程优先级
NI: nice值,值越小优先级越高
VIRT: 使用虚拟内存的总量(KB),VIRT=SWAP+RES
RES: 进程使用的、未被患处的物理内存大小(KB),RES=CODE+DATA
SHR:共享内存大小(KB)
S: 进程状态
%CPU: 上次更新到现在的CPU时间占用百分比
%MEM: 进程使用的物理内存百分比
TIME+:进程使用的物理内存百分比
COMMAND: 进程名称(命令名/命令行)
快捷键帮助:
按键盘数字1,可监控每个逻辑CPU的状况,默认进入top视图时,个进程是按照CPU的占用量来排序的,
可通过键盘指令来改变排序的字段,比如像监控哪个进程占用MEM最多,我一般的使用方法如下:
1.敲击键盘b(打开/关闭加亮效果),top的视图变化如下:
进程3461被加亮了,显示唯一运行状态(running)的那个进程,可以通过敲击y关闭或打开运行状态进程的加亮效果
2.敲击键盘x(打开/关闭列的加亮效果),top的视图变化如下:
3.通过shift+>或shift+<可以向右或左改变排序列,下图是按一次shift+>的效果图
4.改变进程显示字段, 敲击f键,top进入另一个视图,在这里可以编排基本视图中的显示字段:
top视图中列出了所有可以显示的进程字段,标注*的是已经显示的,没标注*的是未显示的,如果要在CODE和DATA两个字段,可以通过
敲击r和s键,然后按回车键键:
2) 调整进程nice值(nice值调整-20到19数字越小优先级越高)
1> 设置优先级
#nice -n -20 xclock -update 1 &
2> 重置优先级
#renice 10 -p pid(进程id)
3) 进程状态解释
D 无法终端的休眠状态(通常是IO的进程)
R 正在运行、在可终端队列中
T 处于休眠状态
S 处于休眠状态,静止状态
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
Z 僵尸进程不存在但暂时无法消除
W 没有足够的内存分页可分配
WCHAN 正在等待的进程资源
< 高优先级进程
N 低优先级进程
s 进程的领导者(在它之下有子进程)
l 多进程的 (使用CLONE_THREAD,类似NPTL pthreads)
+ 位于后台的进程组
3.杀进程
1) #kill -9 强制结束
2) #kill -15 正常结束
3) #pkill httpd(进程名称) 解释:process kill
4) #killall httpd(进程名称) 解释:相比pkill命令当都杀掉的时候,再杀会有返回信息
5) #xkill 杀图形,会有一个cursor变成一个X点哪个图形窗口,哪个窗口就会被杀掉
6) ctrl+alt+backspace
二、前后台切换
1) xclock -update 1 & 后台运行
2) xclock -update 1 前台运行
ctrl+z 前台进程调到后台,然后是停止状态
可以用jobs命令查询信息
3) #bg 编号(jobs命令列出的编号) 后台运行
4) #fg 编号(jobs命令列出的编号) 前台运行
5) 杀后台进程最快的方法, #kill %编号
三、高级命令
1) tac 垂直翻转
2) rev 水平翻转
3) wc
-c 字符数
-w 单词数
-l 行数
4) cut -d: -f 1,2,3 /etc/passwd(以:分隔,显示字段1,2,3)
5) history(查询历史命令)
1> #!100 执行history里面的第100条命令
2> #!! 再执行一次上一条命令
3> !ser 执行最后一条以ser开头的命令
4> !$ (编辑上一条命令最后一个参数)
5> alt+. 上一个命令最后一个参数
6) 输出符
1.
"1>" 标准正确输出,如果文件存在则覆盖,如果不存在则创建
2.
"1>>" 标准正确输出,如果文件存在则追加,如果不存在则创建
3. "2>" 标准错误输出,如果文件存在则覆盖,如果不存在则创建
4. "2>>" 标准错误输出,如果文件存在则追加,如果不存在则创建
5. "&>>" 标准正确和标准错误输出(一般都接/dev/null)
6. "2>&1"
转载于:https://www.cnblogs.com/andywu201002/p/3591663.html