| 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 |