X-Git-Url: https://git.teslayout.com/public/public/public/?p=anna.git;a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2Fresources%2Fscripts%2Foperation_signal.sh;h=04684bd8ce0482031b8a1330ea7116451b341c42;hp=da0449b91f7cb72ba79ce6611c79f31b3009e723;hb=1ac015cbbcd331edc3c14de26290d669d91e4e53;hpb=c23420c0590192eb25ad5344bf1d9485f789e257 diff --git a/example/diameter/launcher/resources/scripts/operation_signal.sh b/example/diameter/launcher/resources/scripts/operation_signal.sh index da0449b..04684bd 100755 --- a/example/diameter/launcher/resources/scripts/operation_signal.sh +++ b/example/diameter/launcher/resources/scripts/operation_signal.sh @@ -16,7 +16,7 @@ _exit() { usage() { echo - echo "Usage: $0 [-h|--help] [-t|--timeout ] [-f|--file] " + echo "Usage: $0 [-h|--help] [-t|--timeout ] [-f|--file] [-p|--ping] " echo echo " -h|--help: this usage help." echo " -t|--timeout: timeout for operation in seconds." @@ -26,6 +26,9 @@ usage() { echo " with one operation per line. If missing, it will be" echo " a single operation string." echo + echo " -p|--ping: Check the target process id." + echo " Returns 1 (dead) or 0 (alive)." + echo echo " data: operation string or file with several operations." echo echo " For example:" @@ -40,6 +43,7 @@ parse_arguments() { is_file= timeout=$TIMEOUT__dflt data= + ping= while [ $# -gt 0 ]; do case $1 in @@ -61,6 +65,10 @@ parse_arguments() { shift ;; + -p|--ping) + ping=yes + ;; + *) first=$(echo $1 | cut -c1) [ "$first" = "-" ] && _exit "Unsupported script option: $1. Type '$SCR_BN -h' (or --help) to print the available options." @@ -70,13 +78,13 @@ parse_arguments() { shift done - [ -z "$data" ] && _exit "Missing data value" + [ -z "$ping" -a -z "$data" ] && _exit "Missing data value" } # $1: pid to check check_pid() { kill -0 $1 2>/dev/null - [ $? -ne 0 ] && _exit "Operation error: missing process with pid $1" + return $? } ############# @@ -91,6 +99,12 @@ PID=`cat .pid` [ "$1" = "" -o "$1" = "--help" -o "$1" = "-h" ] && usage parse_arguments $@ +# Check pid: +check_pid $PID +res=$? +[ -n "$ping" ] && exit $res +[ $res -ne 0 ] && _exit "Operation error: missing process with pid $PID" + # Send operation: if [ -n "$is_file" ] then