江南笨猫 2023-07-30 21:40 采纳率: 0%
浏览 5

shell脚本同时查看进程和端口号

编写一个shell脚本,能够同时查看出进程名称和端口号?例如查看java进程,只要运行下脚本,可以看到所有java进程,正在运行的jar路径,端口号。

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-07-30 21:45
    关注
    #!/bin/bash
    
    java_proc=$(ps aux | grep -i java | grep -v grep)
    
    while read -r line; do
        pid=$(echo "$line" | awk '{print $2}')
        pn=$(echo "$line" | awk '{print $11}')
        cmdline=$(echo "$line" | awk '{print $12}')
    
        jar_path=$(echo "$cmdline" | grep -o -P "(?<=-jar ).*\.jar")
    
        port=$(sudo netstat -tlnp | awk -v pid="$pid" '$0 ~ pid {gsub(/[^0-9]/,"",$4); print $4}')
    
        echo "进程名称: $pn"
        echo "正在运行的jar路径: $jar_path"
        echo "端口号: $port"
    done <<< "$java_proc"
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 7月30日

悬赏问题

  • ¥20 思科:Router c3600 MN-4E插槽
  • ¥15 16进制修改视频的元数据
  • ¥15 岛津txt格式文件转nirs格式
  • ¥15 石墨烯磁表面等离子体
  • ¥15 angular 项目无法启动
  • ¥15 安装wampserver,图标绿色,但是无法进入软件
  • ¥15 C++ MFC 标准库 加密解密解惑
  • ¥15 两条数据合并成一条数据
  • ¥15 Ubuntu虚拟机设置
  • ¥15 comsol三维模型中磁场为什么没有“速度(洛伦兹项)”这一选项