From bd153b1cb73a6c7c3158e9f4f4744fdc2441fb0e Mon Sep 17 00:00:00 2001 From: jacobkeeler Date: Thu, 21 May 2020 13:49:21 -0400 Subject: First version of daemon script from proposal --- src/appMain/CMakeLists.txt | 10 +++--- src/appMain/core.sh | 28 +++++++++++++++++ src/appMain/core_external_proprietary.sh | 52 +++++++++++++++++++++++++++++++ src/appMain/start.sh | 2 -- src/appMain/start_external_proprietary.sh | 23 -------------- 5 files changed, 85 insertions(+), 30 deletions(-) create mode 100644 src/appMain/core.sh create mode 100644 src/appMain/core_external_proprietary.sh delete mode 100644 src/appMain/start.sh delete mode 100644 src/appMain/start_external_proprietary.sh diff --git a/src/appMain/CMakeLists.txt b/src/appMain/CMakeLists.txt index 86be828c6b..b7fc045a9f 100644 --- a/src/appMain/CMakeLists.txt +++ b/src/appMain/CMakeLists.txt @@ -167,8 +167,8 @@ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/smartDeviceLink.ini DESTINATION ${CMAKE_CU file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/hmi_capabilities.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sdl_preloaded_pt.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sample_policy_manager.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/start.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/start_external_proprietary.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/core.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/core_external_proprietary.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) if (CMAKE_SYSTEM_NAME STREQUAL "QNX") file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/init_policy.sh DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) endif () @@ -246,11 +246,11 @@ if (CMAKE_SYSTEM_NAME STREQUAL "QNX") endif () if (${EXTENDED_POLICY} STREQUAL "EXTERNAL_PROPRIETARY") - install(FILES start_external_proprietary.sh DESTINATION bin + install(FILES core_external_proprietary.sh DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ - GROUP_EXECUTE WORLD_READ WORLD_EXECUTE RENAME start.sh) + GROUP_EXECUTE WORLD_READ WORLD_EXECUTE RENAME core.sh) else() - install(FILES start.sh DESTINATION bin + install(FILES core.sh DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif() diff --git a/src/appMain/core.sh b/src/appMain/core.sh new file mode 100644 index 0000000000..4d3fbfce1e --- /dev/null +++ b/src/appMain/core.sh @@ -0,0 +1,28 @@ +#!/bin/bash +cd $(dirname $0) +DIR=$(pwd) +PID_FILE=$DIR/core.pid + +function core_start() { + echo "Starting SmartDeviceLinkCore" + LD_LIBRARY_PATH=$DIR ${DIR}/smartDeviceLinkCore & + PID=$! + echo $PID > $PID_FILE +} + +function core_stop() { + echo "Stopping SmartDeviceLinkCore" + kill $(cat $PID_FILE) + rm $PID_FILE +} + +if [ x$1 == xstop ]; then + core_stop +elif [ x$1 == xrestart ]; then + core_stop + core_start +elif [ x$1 == xstart ]; then + core_start +else + echo "usage: core.sh [start/restart/stop]" +fi diff --git a/src/appMain/core_external_proprietary.sh b/src/appMain/core_external_proprietary.sh new file mode 100644 index 0000000000..7857ea4258 --- /dev/null +++ b/src/appMain/core_external_proprietary.sh @@ -0,0 +1,52 @@ +#!/bin/bash +cd $(dirname $0) +DIR=$(pwd) +CORE_PID_FILE=/var/run/core.pid +PM_PID_FILE=/var/run/policy_manager.pid + +function core_start() { + echo "Starting SmartDeviceLinkCore" + LD_LIBRARY_PATH=$DIR ${DIR}/smartDeviceLinkCore & + CORE_PID=$! + echo $CORE_PID > $CORE_PID_FILE +} + +function core_stop() { + echo "Stopping SmartDeviceLinkCore" + kill $(cat $CORE_PID_FILE) + rm $CORE_PID_FILE +} + +function pm_start() { + pip3 list | grep -F tornado > /dev/null + if [ $? -eq 1 ]; then + echo "Installing tornado python package" + sudo pip3 install tornado + fi + echo "Starting Policy Manager" + python3 ${DIR}/sample_policy_manager.py --pack_port 8088 --unpack_port 8089 --add_http_header --encryption & + PM_PID=$! + echo $PM_PID > $PM_PID_FILE +} + +function pm_stop() { + echo "Stopping Policy Manager" + kill -INT $(cat $PM_PID_FILE) + kill -9 $(cat $PM_PID_FILE) + rm $PM_PID_FILE +} + +if [ x$1 == xstop ]; then + core_stop + pm_stop +elif [ x$1 == xrestart ]; then + core_stop + pm_stop + core_start + pm_start +elif [ x$1 == xstart ]; then + core_start + pm_start +else + echo "usage: core.sh [start/restart/stop]" +fi diff --git a/src/appMain/start.sh b/src/appMain/start.sh deleted file mode 100644 index ea6dea9d50..0000000000 --- a/src/appMain/start.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -LD_LIBRARY_PATH=. ./smartDeviceLinkCore \ No newline at end of file diff --git a/src/appMain/start_external_proprietary.sh b/src/appMain/start_external_proprietary.sh deleted file mode 100644 index 35d4fe900c..0000000000 --- a/src/appMain/start_external_proprietary.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -pip3 list | grep -F tornado > /dev/null - -if [ $? -eq 1 ] - then - echo "Installing tornado python package" - sudo -H pip3 install tornado -fi - -echo "Starting Policy Manager" -python3 sample_policy_manager.py --pack_port 8088 --unpack_port 8089 --add_http_header --encryption & -POLICY_MANAGER=$! - -trap ctrl_c INT - -function ctrl_c() { - echo "Stopping SmartDeviceLinkCore" - kill -INT $POLICY_MANAGER - kill -9 $POLICY_MANAGER -} - -echo "Starting SmartDeviceLinkCore" -LD_LIBRARY_PATH=. ./smartDeviceLinkCore -- cgit v1.2.1