Linux Shell脚本编写实践:如何根据PID过滤进程所有信息

2023年 7月 30日 16.9k 0

在Linux操作系统中,每个运行的进程都有一个唯一的进程ID(PID)。

这个ID可以用于标识、管理和过滤进程。

在本文中,我们将介绍如何编写一个Shell脚本,该脚本可以接收一个PID作为输入,然后查询并返回该进程的所有信息。

图片[1]-Linux Shell脚本编写实践:如何根据PID过滤进程所有信息-不念博客

脚本简介

我们的目标是创建一个脚本,它可以根据输入的PID,查询到该进程的所有信息,如进程名,运行状态,CPU使用率,内存使用率等。

我们将使用Linux的内建命令ps来实现这个任务。

环境准备

首先,你需要一个运行Linux的环境,并且有一定的Shell脚本编程基础。

为了测试脚本,应该有一个或多个运行的进程在你的系统中。

脚本编写

我们的脚本将是一个简单的bash脚本,大致的逻辑如下:

  • 检查命令行参数的数量。如果没有提供PID,则打印一个错误消息并退出脚本。
  • 使用ps命令在系统中搜索该PID的进程。
  • 如果找到该PID,打印进程的所有信息。如果未找到,则打印一个错误消息。
  • 下面是这个脚本的一个简单版本:

    #!/bin/bash
    
    # 检查参数数量
    if [ $# -ne 1 ]; then
      echo "Usage: $0 "
      exit 1
    fi
    
    # 使用ps命令搜索PID
    process_info=$(ps -p $1 -f)
    
    if [ -z "$process_info" ]; then
      echo "Error: Process with PID $1 not found."
      exit 1
    fi
    
    # 打印进程信息
    echo "$process_info"

    脚本测试

    现在,我们可以测试我们的脚本了。首先,给脚本执行权限:

    chmod +x processinfo.sh

    然后,使用一个在你系统中运行的进程的PID作为参数来运行脚本:

    ./processinfo.sh 
    

    如果一切正常,你应该能看到该进程的所有信息。

    总结

    在本文中,我们创建了一个简单的Shell脚本,用于查询Linux系统中进程的所有信息。

    这个脚本展示了如何使用Shell脚本和Linux命令行工具来处理进程信息,并为Shell脚本编程提供了一个实际的例子。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论