#!/bin/bash ARTHAS_FILE="arthas-boot.jar" # 检查 arthas-boot.jar 文件是否存在 if [ ! -f "$ARTHAS_FILE" ]; then echo "错误:未找到 arthas-boot.jar 文件,请确保该文件在当前目录中。" exit 1 fi # 获取当前正在运行的 Java 进程 echo "检测正在运行的 Java 进程..." JAVA_PIDS=$(jps -l | grep -v Jps) if [ -z "$JAVA_PIDS" ]; then echo "没有发现运行中的 Java 进程。" exit 1 fi echo "找到以下 Java 进程:" echo "$JAVA_PIDS" # 选择要附加的进程 ID read -p "请输入要附加的进程 ID: " TARGET_PID # 验证输入是否为有效的 PID if ! echo "$JAVA_PIDS" | grep -q "^$TARGET_PID"; then echo "无效的进程 ID:$TARGET_PID" exit 1 fi # 启动 Arthas 并附加到指定的进程 echo "启动 Arthas 并附加到进程 ID $TARGET_PID..." java -jar $ARTHAS_FILE --target-ip 127.0.0.1 --telnet-port 3658 --http-port 8563 $TARGET_PID & # 等待 Arthas 启动 sleep 3 # 调用 dashboard 输出系统详情 echo "显示 dashboard 系统详情..." echo "dashboard" | nc 127.0.0.1 3658 echo "Arthas 已启动并显示 dashboard。"
标签:Java,TARGET,python,PID,echo,ssh,arthas,进程 From: https://www.cnblogs.com/xiaoyaowuming/p/18426630