linux运维笔记(5) - 进程管理、前后台切换、高级命令
- 一、进程管理
1.静态查询
ps 是显示瞬间行程的状态,并不动态连续;如果想对进程运行时间监控,应该用 top 工具
1) #ps -ef-e 显示所有进程,环境变量-f 显示全格式下面是列标题的详解:UID: 用户IDPID: 进程IDPPID:父进程IDC: CPU占用率STIME:开始时间TTY: 开始此进程的TTYTIME: 次进程运行的总时间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分钟的负载情况load 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 kill4) #killall httpd(进程名称) 解释:相比pkill命令当都杀掉的时候,再杀会有返回信息5) #xkill 杀图形,会有一个cursor变成一个X点哪个图形窗口,哪个窗口就会被杀掉6) ctrl+alt+backspace
- 二、前后台切换
1) xclock -update 1 & 后台运行
2) 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"