• linux的进程


    一、进程监控概述

    1.程序和进程

    程序

    −保存在磁盘中的可执行文件

    −是静态保存的代码

    进程

    −在CPU及内存中运行的程序指令

    −是动态执行的代码

    −父/子进程:进程可以创建一个或多个子进程

    2.进程监控关注点

    进程树(pstree)

    −了解进程之间的父子关系

    进程快照(ps)

    −列表进程,了解所属用户、资源占用、状态等信息

    资源消耗排名(top)

    −根据CPU、内存等资源占用情况排名

    检索指定的进程(pgrep)

    −根据名称、用户、终端等条件查找指定进程

    二、进程树、快照、检索

    1.pstree看进程树

    pstree—ProcessesTree

    −格式:pstree[选项][PID或用户名]

    常用命令选项

    −-a:显示完整的命令行

    −-u:列出各进程所属的用户名

    −-p:列出对应的PID号

    2.ps看进程快照

    ps—ProcessesSnapshot

    −格式:ps[选项]...

    常用命令选项

    −a:显示当前终端下的所有进程

    −u:使用以用户为主的格式输出信息

    −x:显示当前用户在所有终端下的进程

    −-elf:显示系统内所有的进程,以最完整的长格式显示

    ps aux操作

    −列出正在运行的所有进程

    ps -elf操作

    −列出正在运行的所有进程 

    3.top看进程资源排名

    1. [root@hadoop ~]# top -d5
    2. top - 23:05:18 up 10 days, 11:14, 2 users, load average: 0.00, 0.00, 0.00
    3. Tasks: 80 total, 1 running, 79 sleeping, 0 stopped, 0 zombie
    4. Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    5. Mem: 3916804k total, 3366816k used, 549988k free, 171220k buffers
    6. Swap: 2097144k total, 8348k used, 2088796k free, 1242220k cached
    7. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    8. 61710 root 20 0 2709m 597m 22m S 1.2 15.6 31:14.64 java
    9. 61443 root 20 0 3079m 481m 22m S 1.0 12.6 32:43.32 java
    10. 18302 root 20 0 2851m 166m 18m S 0.4 4.4 24:16.29 java
    11. 18402 root 20 0 2714m 144m 18m S 0.4 3.8 12:34.71 java
    12. 17854 root 20 0 2698m 181m 18m S 0.2 4.7 12:38.22 java
    13. 17952 root 20 0 2711m 140m 18m S 0.2 3.7 10:27.78 java

    top交互操作的按键指令

    −?:查看帮助(列出可用的按键指令)

    −P、M:根据%CPU、%MEM降序排列

    −T:根据进程消耗的TIME降序排列

    −k:杀死指定的进程

    −q:退出top程序

    4.pgrep检索进程

    pgrep—ProcessGrep

    −用途:pgrep[选项]...查询条件

    常用命令选项

    −-l:输出进程名,而不仅仅是PID

    −-U:检索指定用户的进程

    −-x:匹配整个进程名,而不是部分关键词

    查询名称含“log”的进程信息

    1. [root@hadoop ~]# pgrep -l 'log'
    2. 926 rsyslogd
    3. 1066 login

    查询进程名称为“sshd”的进程信息

    1. [root@hadoop ~]# pgrep -lx sshd
    2. 12603 sshd
    3. 44798 sshd

    三、进程前后台控制

    1.前台启动及运行

    主要特点

    −正常输入命令行,默认的执行方式

    −运行期间会占用当前终端

    −适合耗时较短的任务,或者需要人工交互的程序

    1. [root@hadoop ~]# hostname //启动程序
    2. hadoop //执行并反馈结果
    3. [root@hadoop ~]# //结束待命

    2.启用后台任务

    主要特点

    −在命令行末尾添加“&”符号提交

    −运行期间不占用当前终端

    −适合耗时较长的任务,或者服务、脚本等系统任务

    1. [root@hadoop ~]# cp /dev/cdrom mycd.iso &
    2. [1] 14304 //后台制作ISO镜像文件

    3.前后台调度

     查看后台任务列表

    [root@hadoop ~]# jobs -l
    

    //恢复已挂起的vim程序

    [root@hadoop ~]# fg
    

     //按Ctrl+z键挂起任务

    [root@hadoop ~]# cp /dev/cdrom mycd2.iso
    

    //后台运行第3个任务

    [root@hadoop ~]# bg 3

    四、杀死进程

    1.进程的几种基础死法

    2.杀死进程示例

    3.按条件查杀进程

    pkill命令

    −杀死符合指定条件(-U、-x)的进程

    −用法与pgrep类似

    //强制踢出用户

    [root@hadoop ~]# pkill -9 -U zengye
    

  • 相关阅读:
    C++(17):string_view
    听说,英特尔要对外开放 x86 授权?
    Android系统编程入门系列之硬件交互——无线通信WLAN
    书店管理系统
    Hadoop 2.0:主流开源云架构(三)
    JAVA计算机毕业设计在线玩具租赁系统Mybatis+源码+数据库+lw文档+系统+调试部署
    【PyTorch深度强化学习】DDPG算法的讲解及实战(超详细 附源码)
    linux下mysql数据库安装(亲测-免配置版)
    MySQL全解,自顶向下深入解剖,只为诸君掌握MySQL数据库
    光流法大全
  • 原文地址:https://blog.csdn.net/m0_55834564/article/details/126350491