pstack实现「建议收藏」

pstack实现「建议收藏」注意,使用pstack查看系统进程的堆栈时需要sudo。注意第一行使用的bash,不可用dash。————————————#!/bin/bashiftest$#-ne1;then   echo”Usage:`basename$0.sh`”1>&2   exit1fiifte

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

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

注意,使用pstack查看系统进程的堆栈时需要sudo。

注意第一行使用的bash,不可用dash。

————————————

#!/bin/bash

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 |

$backtrace

EOF

/bin/sed -n \

    -e ‘s/^(gdb) //’ \

    -e ‘/^#/p’ \

    -e ‘/^Thread/p’

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193808.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 在 Ubuntu系统下安装 OpenCV 全过程

    在 Ubuntu系统下安装 OpenCV 全过程经过不断的试错、安装、删除重装……写下这篇博客,希望其他人安装时能够轻松一点,少几次还原重装……版本:ubuntu18.10OpenCV-4.1.0首先,OpenCV有在ubuntu上安装的官方文档:https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html大家可以参照官方文档进行操作…

  • AngularJS进阶(十一)AngularJS实现表格数据的编辑,更新和删除[通俗易懂]

    AngularJS进阶(十一)AngularJS实现表格数据的编辑,更新和删除[通俗易懂]AngularJS实现表格数据的编辑,更新和删除效果实现首先,我们先建立一些数据,当然你可以从你任何地方读出你的数据varapp=angular.module(‘plunker’,[‘ui.bootstrap’]);app.controller(‘MainCtrl’,function($scope){$scope.name=’World’;$sc

  • 深入理解MySQL索引设计和优化原则[通俗易懂]

    深入理解MySQL索引设计和优化原则[通俗易懂]索引类型探讨索引设计和优化原则之前,先给大家熟悉一下索引类型:主键索引PRIMARYKEY:它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引。唯一索引UNIQUE:唯一索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。创建命令:ALTERTABLEtable_nameADDUNIQUE(column);普通索引INDEX:最基本的索引,它没有任何限制。创建命令:ALTERTABLEtable_nameADDINDEXi..

  • 学习算法 – 优先级队列二叉堆实现

    学习算法 – 优先级队列二叉堆实现

  • mysql 环境_MySQL怎么配置环境变量?「建议收藏」

    mysql 环境_MySQL怎么配置环境变量?「建议收藏」安装完MySQL后,如果不配置环境变量的话,每次还要转到mysql/bin目录下才能操作,下面本篇文章就来给大家介绍一下如何配置环境变量,希望对大家有所帮助。MySQL配置环境变量的步骤:1、右键【我的电脑】,选择【属性】2、选择左侧的【高级系统设置】3、在弹出的窗口点击右下角【环境变量】4、点击新建,在弹出窗口变量名输入mysql_home,变量值输入你的mysql安装路径,如图:5、编辑Pat…

  • 高手解决DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER

    高手解决DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER1、首先要先确定你加电启动的时候有没有认出你的硬盘。这点在bios里可查。如果开机「滴」的一声短声,证明开机自检没问题(排除硬件问题,但不包括硬盘没有识别)。此时按del键进入bios,看你的硬盘有没

发表回复

您的电子邮箱地址不会被公开。

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