Module: kamailio Branch: master Commit: 97ec85559f1e33405fff2320443dc86d2df13456 URL: https://github.com/kamailio/kamailio/commit/97ec85559f1e33405fff2320443dc86d2df13456
Author: Daniel-Constantin Mierla <[email protected]> Committer: Daniel-Constantin Mierla <[email protected]> Date: 2020-07-07T18:57:27+02:00 kamctl: added pstrap command - use ps to get list of PIDs for Kamailio instance, instead of RPC core.psx --- Modified: utils/kamctl/kamctl Modified: utils/kamctl/kamctl.base --- Diff: https://github.com/kamailio/kamailio/commit/97ec85559f1e33405fff2320443dc86d2df13456.diff Patch: https://github.com/kamailio/kamailio/commit/97ec85559f1e33405fff2320443dc86d2df13456.patch --- diff --git a/utils/kamctl/kamctl b/utils/kamctl/kamctl index 211e0cf042..a7a63c64a3 100755 --- a/utils/kamctl/kamctl +++ b/utils/kamctl/kamctl @@ -2909,7 +2909,7 @@ extcmd() { } ##### ================================================ ##### -### trap with gdb kamailio processes +### trap with gdb kamailio processes using RPC core.psx # kamailio_trap() { @@ -2935,6 +2935,35 @@ kamailio_trap() { echo "." } +##### ================================================ ##### +### trap with gdb kamailio processes using ps command +# + +kamailio_pstrap() { + if [ -z "$GDB" ] ; then + merr "'gdb' tool not found: set GDB variable to correct tool path" + exit + fi + DATE=`/bin/date +%Y%m%d_%H%M%S` + LOG_FILE=/tmp/gdb_kamailio_${DATE}.txt + minfo "Trap file: $LOG_FILE" + ps axw | grep kamailio | grep -v grep | sort > $LOG_FILE + echo "" >> $LOG_FILE + echo "" >> $LOG_FILE + echo -n "Trapping Kamailio with gdb: " + PID_TIMESTAMP_VECTOR=`ps axw | grep kamailio | grep -v grep | sort | awk '{print $1}'` + for pid in $PID_TIMESTAMP_VECTOR + do + echo -n "." + PID=`echo $pid | cut -d '-' -f 1` + echo "" >> $LOG_FILE + echo "---start $PID -----------------------------------------------------" >> $LOG_FILE + $GDB kamailio $PID -batch --eval-command="bt full" >> $LOG_FILE 2>&1 + echo "---end $PID -------------------------------------------------------" >> $LOG_FILE + done + echo "." +} + # ##### ================================================ ##### ### main command switch @@ -3147,6 +3176,10 @@ case $1 in kamailio_trap ;; + pstrap) + kamailio_pstrap + ;; + start) kamailio_start ;; diff --git a/utils/kamctl/kamctl.base b/utils/kamctl/kamctl.base index 6dd3686b39..bc8f212f7b 100644 --- a/utils/kamctl/kamctl.base +++ b/utils/kamctl/kamctl.base @@ -368,7 +368,8 @@ usage_base() { mecho " -- command 'start|stop|restart|trap'" echo cat <<EOF - trap ............................... trap with gdb Kamailio processes + trap ............................... trap with gdb Kamailio processes using RPC + pstrap ............................. trap with gdb Kamailio processes using ps restart ............................ restart Kamailio start .............................. start Kamailio stop ............................... stop Kamailio _______________________________________________ Kamailio (SER) - Development Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
