linux运维笔记(5) - 进程管理、前后台切换、高级命令

  • 一、进程管理
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的视图变化如下:
            linux运维笔记(5) - 进程管理、前后台切换、高级命令_第1张图片
          3.通过shift+>或shift+<可以向右或左改变排序列,下图是按一次shift+>的效果图  
            linux运维笔记(5) - 进程管理、前后台切换、高级命令_第2张图片   
            4.改变进程显示字段,     敲击f键,top进入另一个视图,在这里可以编排基本视图中的显示字段:
                linux运维笔记(5) - 进程管理、前后台切换、高级命令_第3张图片
            top视图中列出了所有可以显示的进程字段,标注*的是已经显示的,没标注*的是未显示的,如果要在CODE和DATA两个字段,可以通过
            敲击r和s键,然后按回车键键:
             linux运维笔记(5) - 进程管理、前后台切换、高级命令_第4张图片          

 

          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" 

你可能感兴趣的:(linux运维)