#! /system/bin/sh # logpersist cat start and stop handlers progname="${0##*/}" case `getprop ro.build.type` in userdebug|eng) ;; *) echo "${progname} - Permission denied" exit 1 ;; esac data=/data/misc/logd property=persist.logd.logpersistd service=logcatd if [ X"${1}" = X"-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