当前位置: 首页 > news >正文

10Linux 进程管理学习笔记

Linux 进程管理

目录

文章目录

  • Linux 进程管理
  • 一.进程
    • 1.显示当前进程状态(ps)
      • 进程树(pstree)
      • 1.1实时显示进程信息(top)
      • 顶部概览信息:
      • CPU 状态:
      • 内存状态:
      • 进程信息表头:
      • 进程列表:
      • 1.2(htop)
    • 2.终止进程(kill)
      • 2.1通过名称杀死进程(pkill)
      • 2.2根据名称查找进程ID(pgrep)
    • 3.后台和前台进程控制(bg/fg)
      • 3.1显示后台作业列表(jobs)
    • 4. 跟踪系统调用和信号(strace)
    • 5. 查看内存使用情况(free)
    • 6.服务管理(service)
      • 6.1查看当前网络服务状态
        • 6.2启动,停止,重启
  • 二.动态监控
    • 网络监控命令
  • 三.网络监控
    • 网络接口配置
      • 网络连通性测试
      • 数据包路径追踪
      • 网络流量捕获和分析
      • DNS查询

一.进程

1.显示当前进程状态(ps)

显示所有运行中的进程及其详细信息
ps aux
显示所有包含nginx的进程
ps -ef | grep nginx
请添加图片描述

请添加图片描述

进程树(pstree)

显示进程树,并且每个进程旁边显示其进程ID(PID)
pstree -p
显示进程树,包括进程的完整命令行和父进程ID
pstree -pu

1.1实时显示进程信息(top)

top

请添加图片描述```
下面是 top 命令输出中各项参数及其作用:

顶部概览信息:

  • top - 20:05:04top 命令的启动时间。
  • up 1:46:系统运行时间,这里是1小时46分钟。
  • 2 users:当前登录到系统的用户数量。
  • load average: 0.44, 0.28, 0.17:系统负载平均值,显示过去1分钟、5分钟和15分钟的平均负载。数值是正在使用CPU的进程数,高于此数值的CPU核心数通常表示高负载。(一般三个数加起来不超过0.7)

CPU 状态:

  • %Cpu(s)
    • us:用户空间占用CPU的百分比(1.5%)。
    • sy:系统空间占用CPU的百分比(2.5%)。
    • ni:优先级级较高的用户进程占用CPU的百分比(0.0%)。
    • id:CPU空闲的百分比(95.7%)。
    • wa:等待I/O操作的CPU时间百分比(0.0%)。
    • hi:处理硬件中断的CPU时间百分比(0.0%)。
    • si:处理软件中断的CPU时间百分比(0.2%)。
    • st:被虚拟机偷取的时间百分比(0.0%)。

内存状态:

  • MiB Mem

    • total:物理内存总量(3870.4 MiB)。
    • free:空闲内存量(1878.6 MiB)。
    • used:已使用内存量(1221.7 MiB)。
    • buff/cache:用作缓冲和缓存的内存量(1043.3 MiB)。
  • MiB Swap

    • total:交换空间总量(3869.0 MiB)。
    • free:空闲交换空间量(3869.0 MiB)。
    • used:已使用交换空间量(0.0 MiB)。
  • avail Mem:可用内存量(2648.6 MiB),这是系统可用于启动新应用程序的估计内存量,包括一部分缓存内存。

进程信息表头:

  • 进程号(PID):进程的唯一标识符。
  • USER:进程所有者的用户名。
  • PR:优先级(越小越优先执行)。
  • NI:nice值(影响进程优先级,越小越优先)。
  • VIRT:虚拟内存大小,进程使用的虚拟内存总量。
  • RES:常驻内存大小,进程实际占用的物理内存量。
  • SHR:共享内存大小,进程与其他进程共享的内存量。
  • %CPU:自上次更新以来,进程占用CPU的百分比。
  • %MEM:自上次更新以来,进程占用内存的百分比。
  • TIME+:进程占用CPU的总时间。
  • COMMAND:启动进程的命令名称。

进程列表:

  • 2593 admire:用户admire的PID为2593的进程。
  • 20 0:优先级和nice值。
  • 4322184 VIRT:虚拟内存。
  • 270420 RES:常驻内存。
  • 131508 SHR:共享内存。
  • S:进程状态(S:睡眠,R:运行,T:停止,Z:僵尸)。定期清除(占用内存)
  • 11.6 %CPU:CPU使用率。
  • 6.8 %MEM:内存使用率。
  • 0:57.56 TIME+:CPU占用总时间。
  • gnome-session COMMAND:进程名称。

1.2(htop)

以彩色界面显示进程信息
htop
设置刷新间隔为5秒
htop -d 5

2.终止进程(kill)

强制 杀死进程ID为PID的进程
kill -9 PID
杀死所有名为nginx的进程
killall nginx

2.1通过名称杀死进程(pkill)

杀死所有与nginx相关的进程
pkill -f nginx

2.2根据名称查找进程ID(pgrep)

3.后台和前台进程控制(bg/fg)

列出所有名为nginx的进程的PID
pgrep nginx

3.1显示后台作业列表(jobs)

列出当前终端的所有后台作业
jobs

4. 跟踪系统调用和信号(strace)

跟踪PID进程的系统调用
strace -p PID

5. 查看内存使用情况(free)

以MB为单位显示内存使用情况
free -m

6.服务管理(service)

6.1查看当前网络服务状态

systemctl status NetworkManager.service

服务状态标志(如 ●):表示服务的总体状态。不同符号有不同的含义,例如:●:服务已激活(active)。-:服务未激活(inactive)。?:服务状态未知。服务名称和服务描述:显示服务的名称和简短描述。Loaded:显示服务单元文件是否已加载。loaded:已加载。(/lib/systemd/system/NetworkManager.service; ...:服务单元文件的路径和加载时的状态。Active:显示服务是否正在运行。active (running):服务正在运行。since:服务开始运行的时间。Main PID:服务的主进程ID。Tasks:服务创建的任务数。Memory 和 CPU:服务使用的内存和CPU时间。CGroup:服务所属的控制组(cgroup)信息。日志条目:服务的日志条目,显示时间、主机名、进程ID、日志级别和消息
6.2启动,停止,重启

systemctl start/stop/restart

二.动态监控

网络监控命令

  1. 显示网络连接和端口使用情况(netstat)

    • netstat -anp | grep :80:查看80端口的连接。
  2. 显示套接字信息(ss)

    • ss -tulnp:显示TCP/UDP端口使用。
  3. 实时显示网络带宽使用情况(iftop)

    • iftop:显示网络接口带宽。

以下是整理好的Linux网络监控命令笔记:

三.网络监控

网络接口配置

  1. ifconfig
    • ifconfig:显示所有网络接口配置。
  2. ip addr show
    • ip addr show:显示所有网络接口配置。

网络连通性测试

  1. ping
    • ping google.com:测试到google.com的连通性。

数据包路径追踪

  1. traceroute
    • traceroute google.com:追踪到google.com的数据包路径。
  2. tracepath
    • tracepath google.com:追踪到google.com的数据包路径。

网络流量捕获和分析

  1. tcpdump
    • tcpdump -i eth0:捕获eth0接口流量。
    • tcpdump -n -v -s 0 -c 100 port 80:捕获端口80的流量。
  2. wireshark
    • 使用Wireshark捕获和分析网络流量。

DNS查询

DNS 是域名系统(Domain Name System)的缩写,它是一个分层的、分布式的命名系统,用于将易于人类记忆的域名(如 www.example.com)转换为计算机用于网络通信的 IP 地址(如 192.168.1.1)
  1. dig
    • dig google.com:查询DNS记录。
http://www.lryc.cn/news/359428.html

相关文章:

  • 一些关于深度聚类以及部分对比学习的论文阅读笔记
  • 【ARM-Linux篇】u-boot编译
  • Lombok一文通
  • Seq2Seq模型:详述其发展历程、深远影响与结构深度剖析
  • 公网如何访问内网?
  • 手机定制开发_基于天玑900的5G安卓手机定制方案
  • 免费,C++蓝桥杯等级考试真题--第2级
  • panic 、asset、crash 的含义和区别
  • 解决Windows 10通过SSH连接Ubuntu 20.04时的“Permission Denied”错误
  • Windows 下 PostgreSQL 图形化界面安装、配置详解
  • 曾巩,散文的艺术与哲思
  • 【SpringBoot】怎么在一个大的SpringBoot项目中创建多个小的SpringBoot项目,从而形成子父依赖
  • vue3组件通信与props
  • 并发和异步编程:详细概述
  • 交易员摩拳擦掌,就在今年夏天,极端气候引爆商品?
  • 数据结构学习笔记
  • vscode导入自定义模块报错ModuleNotFoundError解决方案
  • go mod包管理与应用,常见错误排查方法
  • 数据结构作业
  • 项目纪实 | 版本升级操作get!GreatDB分布式升级过程详解
  • 富格林:应用正规技巧阻挠被骗
  • 【模型架构】学习RNN、LSTM、TextCNN和Transformer以及PyTorch代码实现
  • 【LeetCode】38.外观数列
  • 如何解决Ubuntu中软件包安装时的404错误(无法安装gdb、cgddb等)
  • SpringBoot中MyBatisPlus的使用
  • 前后端交互:axios 和 json;springboot 和 vue
  • 前端技术专家岗(虚拟岗)
  • redis windows环境下的部署安装
  • 大字体学生出勤记录系统网页HTML源码
  • 筛斗数据提取技术在企业成本预测中的应用