| Mark Salyzyn | 100658c | 2015-05-26 14:57:13 -0700 | [diff] [blame] | 1 | #! /system/bin/sh | 
 | 2 | # logpersist cat start and stop handlers | 
| Mark Salyzyn | 1b9456a | 2015-09-21 10:45:10 -0700 | [diff] [blame] | 3 | progname="${0##*/}" | 
| Mark Salyzyn | d1f41d6 | 2016-02-09 15:49:29 -0800 | [diff] [blame] | 4 | case `getprop ro.debuggable` in | 
 | 5 | 1) ;; | 
| Mark Salyzyn | 1b9456a | 2015-09-21 10:45:10 -0700 | [diff] [blame] | 6 | *) echo "${progname} - Permission denied" | 
 | 7 |    exit 1 | 
 | 8 |    ;; | 
 | 9 | esac | 
| Mark Salyzyn | 100658c | 2015-05-26 14:57:13 -0700 | [diff] [blame] | 10 | data=/data/misc/logd | 
 | 11 | property=persist.logd.logpersistd | 
 | 12 | service=logcatd | 
| Mark Salyzyn | 3bab2a9 | 2015-12-29 07:31:31 -0800 | [diff] [blame] | 13 | if [ X"${1}" = X"-h" -o X"${1}" = X"--help" ]; then | 
| Mark Salyzyn | 100658c | 2015-05-26 14:57:13 -0700 | [diff] [blame] | 14 |   echo "${progname%.*}.cat            - dump current ${service%d} logs" | 
 | 15 |   echo "${progname%.*}.start          - start ${service} service" | 
 | 16 |   echo "${progname%.*}.stop [--clear] - stop ${service} service" | 
 | 17 |   exit 0 | 
 | 18 | fi | 
 | 19 | case ${progname} in | 
 | 20 | *.cat) | 
 | 21 |   su 1036 ls "${data}" | | 
 | 22 |   tr -d '\r' | | 
 | 23 |   sort -ru | | 
 | 24 |   sed "s#^#${data}/#" | | 
 | 25 |   su 1036 xargs cat | 
 | 26 |   ;; | 
 | 27 | *.start) | 
 | 28 |   su 0 setprop ${property} ${service} | 
 | 29 |   getprop ${property} | 
 | 30 |   sleep 1 | 
 | 31 |   ps -t | grep "${data##*/}.*${service%d}" | 
 | 32 |   ;; | 
 | 33 | *.stop) | 
 | 34 |   su 0 stop ${service} | 
 | 35 |   su 0 setprop ${property} "" | 
 | 36 |   [ X"${1}" != X"-c" -a X"${1}" != X"--clear" ] || | 
 | 37 |   ( sleep 1 ; su 1036,9998 rm -rf "${data}" ) | 
 | 38 |   ;; | 
 | 39 | *) | 
 | 40 |   echo "Unexpected command ${0##*/} ${@}" >&2 | 
 | 41 |   exit 1 | 
 | 42 | esac |