pstack脚本_pstack

pstack脚本_pstack脚本写入shell文件pstack,直接执行这个脚本pstackpid#!/bin/shiftest$#-ne1;thenecho”Usage:`basename$0.sh`<process-id>”1>&2exit1fiiftest!-r/proc/$1;thenecho”Process$1notfound.”1>&2exit1fi#GDBdoe…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

脚本写入shell文件pstack,直接执行这个脚本

pstack pid

 

#!/bin/sh

if test $# -ne 1; then
    echo “Usage: `basename $0 .sh` <process-id>” 1>&2
    exit 1
fi

if test ! -r /proc/$1; then
    echo “Process $1 not found.” 1>&2
    exit 1
fi

# GDB doesn’t allow “thread apply all bt” when the process isn’t
# threaded; need to peek at the process to determine if that or the
# simpler “bt” should be used.

backtrace=”bt”
if test -d /proc/$1/task ; then
    # Newer kernel; has a task/ directory.
    if test `/bin/ls /proc/$1/task | /usr/bin/wc -l` -gt 1 2>/dev/null ; then
    backtrace=”thread apply all bt”
    fi
elif test -f /proc/$1/maps ; then
    # Older kernel; go by it loading libpthread.
    if /bin/grep -e libpthread /proc/$1/maps > /dev/null 2>&1 ; then
    backtrace=”thread apply all bt”
    fi
fi

GDB=${GDB:-/usr/bin/gdb}

if $GDB -nx –quiet –batch –readnever > /dev/null 2>&1; then
    readnever=–readnever
else
    readnever=
fi

# Run GDB, strip out unwanted noise.
$GDB –quiet $readnever -nx /proc/$1/exe $1 <<EOF 2>&1 | 
set width 0
set height 0
set pagination no
$backtrace
EOF
/bin/sed -n \
    -e ‘s/^\((gdb) \)*//’ \
    -e ‘/^#/p’ \
    -e ‘/^Thread/p’
    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193930.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月15日 下午8:43
下一篇 2025年11月15日 下午9:22


相关推荐

  • ubuntu 安装 Redis

    ubuntu 安装 Redis一 下载 Redis 压缩包 wgethttp download redis io releases redis 5 0 14 tar gz 也可以去官网下载别的版本 https redis io 二 解压文件 tar zxvfredis 5 0 14 tar gz 三 编译安装 使用压缩包的方式需要编译安装 进入目录输入 make 将 bin 目录安装到当前目录下 当然也可以直接使用 src 下的脚本 可省略 四 启动服务端 redis server amp amp am

    2026年3月19日
    2
  • js 控制台打印对象

    js 控制台打印对象为什么 80 的码农都做不了架构师 gt gt gt

    2026年3月26日
    2
  • 关于kafuka的简单认识与理解「建议收藏」

    关于kafuka的简单认识与理解「建议收藏」因为工作中负责维护的产品中有使用消息中间件kafuka的系统,所以把工作中的理解和遇到的问题总结出来,方便后期查看,好记性不如烂笔头。kafuka是一个分布式的、分区化、可复制提交的发布订阅消息系统,使用kafuka需要对其中的一些概念做简单了解。一、kafuka基础1、topic主题:Kafka中用于区分不同类别信息的类别名称。由producer指定2、Producer:将消息发布到Kafka特定的Topic的对象3、Consumers:订阅并处理特定的Topic中的消息的对象4、broke

    2022年6月11日
    50
  • 2021山东安全员c证考试题库_C类安全员

    2021山东安全员c证考试题库_C类安全员题库来源:安全生产模拟考试一点通公众号小程序2022山东省安全员C证培训试题为山东省安全员C证判断题的新全考试题型!2022年山东省安全员C证考题及答案根据山东省安全员C证考试教材。山东省安全员C证复审模拟考试随时根据安全生产模拟考试一点通上手机同步练习。1、【多选题】一般模板工程通常由()等组成。(ABD)A、面板B、支架C、加固件D、连接件E、螺栓2、【多选题】下列沥青洒布车阀门及油路符合要求的是()。(ABCDE)A、各操作部分应灵活有效,各阀的…

    2025年9月24日
    7
  • docker网络的配置

    docker网络的配置docker网络的配置Linux内核实现名称空间的创建ipnetns命令可以借助ipnetns命令来完成对NetworkNamespace的各种操作。ipnetns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ipnetns命令修改网络配置时需要sudo权限。可以通过ipnetns命令完成对NetworkNamespace的相关操作,可以通过ipnetnshelp查看命令帮助信息:[root@localhost~]#ipne

    2022年6月17日
    28
  • midjourney设计教程

    midjourney设计教程

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号