| #! /system/bin/sh |
| # logpersist cat start and stop handlers |
| data=/data/misc/logd |
| property=persist.logd.logpersistd |
| service=logcatd |
| progname="${0##*/}" |
| if [ X"${1}" = "-h" -o X"${1}" = X"--help" ]; then |
| echo "${progname%.*}.cat - dump current ${service%d} logs" |
| echo "${progname%.*}.start - start ${service} service" |
| echo "${progname%.*}.stop [--clear] - stop ${service} service" |
| exit 0 |
| fi |
| case ${progname} in |
| *.cat) |
| su 1036 ls "${data}" | |
| tr -d '\r' | |
| sort -ru | |
| sed "s#^#${data}/#" | |
| su 1036 xargs cat |
| ;; |
| *.start) |
| su 0 setprop ${property} ${service} |
| getprop ${property} |
| sleep 1 |
| ps -t | grep "${data##*/}.*${service%d}" |
| ;; |
| *.stop) |
| su 0 stop ${service} |
| su 0 setprop ${property} "" |
| [ X"${1}" != X"-c" -a X"${1}" != X"--clear" ] || |
| ( sleep 1 ; su 1036,9998 rm -rf "${data}" ) |
| ;; |
| *) |
| echo "Unexpected command ${0##*/} ${@}" >&2 |
| exit 1 |
| esac |