⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ast_grab_core

📁 asterisk 是一个很有知名度开源软件
💻
字号:
#!/bin/sh# $Id: ast_grab_core 77847 2007-07-31 21:33:37Z murf $# lame quickie script to snarf a core of a hung asterisk process.# bugs to ast_grab_core, blinky-lights.org  (derrick daugherty)# we have found that gcore doesn't yield as useful a core file# as that yielded by a signal-caused core dump. So we are going to change# the strategy to sending a SEGV signal to the asterisk process,# and have it 'burn to the ground', leaving behind a core file.# the main difference is that you cannot control where the# core file will end up. We will assume that safe_asterisk was# used to start asterisk, and the core file should therefore end# up in /tmp (because safe_asterisk cd's there before starting asterisk).# if this is not the case, set DUMPDIR to the place where the core# file can be found.DATE=`date +%Y%m%d%H%M`DUMPDIR=/tmpHOSTNAME=`hostname`ADMINEMAIL="root@localhost"#the following should be improvedif [ -e /etc/asterisk/asterisk.conf ]; then	RUNDIR=`awk -F"=>" '/astrundir/ {print $2}' /etc/asterisk/asterisk.conf`	PID=`cat ${RUNDIR}/asterisk.pid`elif [ -e /var/run/asterisk.pid ] ; then 	PID=`cat /var/run/asterisk.pid`else 	echo Could not find an asterisk.conf definition for astrundir,  using \'ps\'	echo to try and determine process ID.  This is not reliable.	PID=`ps auxwf|grep asterisk|grep vv|head -1|awk '{print $2}'`fiecho Snarfing asterisk core, this could take a few seconds dependingecho on how much memory is in use.echoecho \*\*\* WARNING \*\*\*  If the system is not already locked this will cause the echo \*\*\* WARNING \*\*\*  process to STOP while memory is dumped to disk.echo/bin/kill -11 ${PID}echo Snarfed!  ${DUMPDIR}/core.${PID}echoecho Trying for a backtrace of the captured core./usr/bin/gdb /usr/sbin/asterisk ${DUMPDIR}/core.${PID} > ${DUMPDIR}/gdb_dump.${PID}.txt 2> /dev/null << EOFset prompt \nset print pretty\necho --------------------------------------------------------------------------------\necho INFO THREADinfo threadecho --------------------------------------------------------------------------------\necho THREAD APPLY ALL BTthread apply all btecho --------------------------------------------------------------------------------\necho THREAD APPLY ALL BT FULLthread apply all bt fullquitEOFecho Done trying for a bt.echo Notifying admins of the core./usr/bin/mail -s "${HOSTNAME} core dumped at ${DUMPDIR}/core.${PID}" ${ADMINEMAIL} < ${DUMPDIR}/gdb_dump.${PID}.txtecho Done.echoecho Reproducible deadlocks should be posted with a full backtrace and instructionsecho to reproduce the issue at http://bugs.digium.com/    Thanks!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -