summaryrefslogtreecommitdiffstats
path: root/logd/logpersist
blob: 215e1e2d91645e2515d31d662b217e47c45cf405 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#! /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