diff options
author | 2019-04-16 11:51:16 +0000 | |
---|---|---|
committer | 2019-04-16 11:51:16 +0000 | |
commit | 34605c95ea7a9af4c4b86a4b5dee81a40d60686f (patch) | |
tree | 2d87a529f21c47e94a267fc41df7f1305b87ecb4 /deployment/zip/src/main/release/conf/oclip-service.sh | |
parent | 90cfd4e7091c8cc551443c1a82149fbe29fd1940 (diff) | |
parent | eb8e385895eddc369323ebe3495538cb50bc79ba (diff) |
Merge changes I29728c5d,Ic02b092e
* changes:
Add oclip service entry
Add dublin in OCS yaml names
Diffstat (limited to 'deployment/zip/src/main/release/conf/oclip-service.sh')
-rw-r--r-- | deployment/zip/src/main/release/conf/oclip-service.sh | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/deployment/zip/src/main/release/conf/oclip-service.sh b/deployment/zip/src/main/release/conf/oclip-service.sh new file mode 100644 index 00000000..98c40426 --- /dev/null +++ b/deployment/zip/src/main/release/conf/oclip-service.sh @@ -0,0 +1,113 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: OCLIP +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start daemon at boot time +# Description: Enable service provided by daemon. +### END INIT INFO +# +# Copyright 2019 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +dir="/opt" +cmd="/opt/oclip/bin/oclip-grpc-service.sh" +user="root" + +name=`basename $0` +pid_file="/var/run/$name.pid" +stdout_log="/var/log/$name.log" +stderr_log="/var/log/$name.err" + +get_pid() { + cat "$pid_file" +} + +is_running() { + [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1 +} + +case "$1" in + start) + if is_running; then + echo "Already started" + else + echo "Starting $name" + cd "$dir" + if [ -z "$user" ]; then + sudo $cmd >> "$stdout_log" 2>> "$stderr_log" & + else + sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" & + fi + echo $! > "$pid_file" + if ! is_running; then + echo "Unable to start, see $stdout_log and $stderr_log" + exit 1 + fi + fi + ;; + stop) + if is_running; then + echo -n "Stopping $name.." + kill `get_pid` + for i in {1..10} + do + if ! is_running; then + break + fi + + echo -n "." + sleep 1 + done + echo + + if is_running; then + echo "Not stopped; may still be shutting down or shutdown may have failed" + exit 1 + else + echo "Stopped" + if [ -f "$pid_file" ]; then + rm "$pid_file" + fi + fi + else + echo "Not running" + fi + ;; + restart) + $0 stop + if is_running; then + echo "Unable to stop, will not attempt to start" + exit 1 + fi + $0 start + ;; + status) + if is_running; then + echo "Running" + else + echo "Stopped" + exit 1 + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac + +exit 0 |