From cd0193581e75d5c08bfc366e91fbe9846c8a8885 Mon Sep 17 00:00:00 2001 From: "hertz.wang" Date: Mon, 9 Jul 2018 20:43:53 +0800 Subject: [PATCH] duer_linux process monitor Change-Id: I037a5f154d1c19e9d27c01014a9f16c66c71f237 Signed-off-by: hertz.wang --- rk3308/dueros/RkLunch.sh | 4 +++- rk3308/dueros/dueros_service.sh | 22 +++++++++++++--------- rk3308/dueros/watch_dueros_service.sh | 12 ++++++++++++ 3 files changed, 28 insertions(+), 10 deletions(-) create mode 100755 rk3308/dueros/watch_dueros_service.sh diff --git a/rk3308/dueros/RkLunch.sh b/rk3308/dueros/RkLunch.sh index 3ca6856..fdd0b1b 100755 --- a/rk3308/dueros/RkLunch.sh +++ b/rk3308/dueros/RkLunch.sh @@ -3,7 +3,6 @@ # rm /tmp/test.pcm # echo 0x60 0x40ff0040 > /sys/kernel/debug/vad/reg # echo 0x5c 0x000e2080 > /sys/kernel/debug/vad/reg -# mkdir -p /data/local/ipc cd /data/ @@ -21,6 +20,7 @@ ifconfig lo 127.0.0.1 netmask 255.255.255.0 killall dhcpcd killall hostapd killall dnsmasq +killall ueventd aplay /usr/appresources/startup.wav & @@ -30,3 +30,5 @@ aplay /usr/appresources/startup.wav & # start dueros /oem/dueros_service.sh start + +/oem/watch_dueros_service.sh & diff --git a/rk3308/dueros/dueros_service.sh b/rk3308/dueros/dueros_service.sh index 05774bd..0ed2936 100755 --- a/rk3308/dueros/dueros_service.sh +++ b/rk3308/dueros/dueros_service.sh @@ -4,7 +4,7 @@ case "$1" in start) - echo "Starting $0..." + echo "Starting $0..." # start audio preProcess ln -s /oem/baidu_spil_rk3308/* /data/ -f @@ -19,18 +19,22 @@ case "$1" in ln -s /usr/lib . -f ln -s /usr/appresources . -f ln -s /oem/duer/* . -f - ./duer_linux & - ;; + ./duer_linux & + ;; stop) - echo "Stop $0..." - killall alsa_audio_main_service + echo "Stop $0..." + killall alsa_audio_main_service killall duer_linux - ;; + ;; restart|reload) - ;; + killall alsa_audio_main_service + killall duer_linux + cd /data && ./alsa_audio_main_service 6mic_loopback & + cd /data/duer && ./duer_linux & + ;; *) - echo "Usage: $0 {start|stop|restart}" - exit 1 + echo "Usage: $0 {start|stop|restart}" + exit 1 esac exit $? diff --git a/rk3308/dueros/watch_dueros_service.sh b/rk3308/dueros/watch_dueros_service.sh new file mode 100755 index 0000000..20d2562 --- /dev/null +++ b/rk3308/dueros/watch_dueros_service.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +sleep 3 + +while true;do + pid=`ps aux | grep duer_linux | grep -v grep | busybox awk '{print \$1}'` + if [ "$pid" = "" ];then + echo "duer_linux died, restart it." + /oem/dueros_service.sh restart + fi + sleep 2 +done