Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- help() {
- echo "$0 -p <packageName> [-v]"
- }
- SHORT_PARAM="vp:"
- LONG_PARAM="pkg"
- GETOPT="getopt"
- FILE_FDS="/tmp/fds"
- FILE_LAST_FDS="/tmp/last_fds"
- if [ "$SHORT_PARAM" ] ; then GETOPT="$GETOPT -o $SHORT_PARAM" ; fi
- if [ "$LONG_PARAM" ] ; then GETOPT="$GETOPT --long $LONG_PARAM" ; fi
- NEW_PARAMS=`$GETOPT -n $0 -- "$@"`
- eval set -- "$NEW_PARAMS"
- verbose=false
- while true ; do
- case $1 in
- -v) verbose=true ; shift ;;
- -p|--pkg) packageName="$2"; shift 2;;
- --) shift ; break ;;
- esac
- done
- if [ ! "$packageName" ] ; then echo "Usage: $0 -p <packageName>"; exit 1; fi
- pid=`adb shell ps -ef|grep com.android.browser$|sed 's/[[:space:]]\+/ /g'|cut -d' ' -f2`
- if [ ! "$pid" ] ; then echo "pid of $packageName is not exists"; exit 1; fi
- if [ -f "${FILE_FDS}_$pid" ] ; then mv "${FILE_FDS}_$pid" "${FILE_LAST_FDS}_$pid"; fi
- adb shell ls -l /proc/$pid/fd |cut -d' ' -f1,2,3,4,5,8,9,10 | sort > "${FILE_FDS}_$pid"
- if [ ! -f "${FILE_LAST_FDS}_$pid" ] ; then echo "Fds file init finished."; exit 0; fi
- newFds=`comm -13 "${FILE_LAST_FDS}_$pid" "${FILE_FDS}_$pid"`
- freedFds=`comm -23 "${FILE_LAST_FDS}_$pid" "${FILE_FDS}_$pid"`
- if [ "$newFds" ] ; then newCount=`echo "$newFds" |wc -l`; else newCount="0" ; fi
- if [ "$freedFds" ] ; then freedCount=`echo "$freedFds"|wc -l`; else freedCount="0" ; fi
- totalCount=`wc -l ${FILE_FDS}_$pid |cut -d' ' -f1`
- if $verbose ; then
- if [ "$newFds" ] ; then
- echo "New fds: $newCount"
- echo "$newFds"
- echo
- fi
- if [ "$freedFds" ] ; then
- echo "Freed fds: $freedCount"
- echo "$freedFds"
- echo
- fi
- fi
- echo "total: $totalCount"
- echo "New fds: $newCount"
- echo "Freed fds: $freedCount"
Add Comment
Please, Sign In to add comment