Sample Header Ad - 728x90

Script ends abruptly with a Terminated message

9 votes
2 answers
13178 views
This is my bash script. All it does is to check whether a service has started and whether some processes are running as expected. It ends abruptly with a "Terminated" message. I tried debugging it with the set -x flag, and I still don't know what is going wrong. Stack Overflow and Google don't show me any other people with a similar problem. The script has permissions of 755. Some commands are obfuscated, for obvious reasons. #!/bin/bash set -x DAEMON_BIN=/etc/init.d/init-god DAEMON_BIN_START="${DAEMON_BIN} start" DAEMON_BIN_STOP="${DAEMON_BIN} stop" SOME_VARIABLE="foo" CHEF_CONFIG_FILE_PATH="/path/to/file" NODE_INFO_FILE="/mnt/node_info/properties" function get_key_value (){ value=$(grep -Po "(? /dev/null nohup pkill -f resque &> /dev/null eval $DAEMON_BIN_START sleep 15 PROCESS_COUNT=ps aux | awk '/[p]rocess-name/' | wc -l NODE_NAME=get_key_value node_name if [[ $NODE_NAME -eq $SOME_VARIABLE && $PROCESS_COUNT -eq 1 ]]; then echo "DAEMON and scheduler are running fine." ; else echo "A problem with DAEMON has occured." ; fi EXPECTED_PROCESS_COUNT=get_key_value no_of_workers ACTUAL_WORKER_COUNT=ps ax | grep [r]esque-[0-9] if [[ $EXPECTED_PROCESS_COUNT -eq $ACTUAL_WORKER_COUNT ]]; then echo "Correct Number of workers initialized." ; else echo "More workers exist than are permitted." ; fi for (( i=0; i<${EXPECTED_PROCESS_COUNT}; i++ )); do WORKER_NAME=get_key_value worker_${i} COUNT=ps ax | grep ${WORKER_NAME} | grep -v grep | wc -l if [[ $COUNT -eq 1 ]]; then #statements echo "${WORKER_NAME} is running." else echo "${WORKER_NAME} may not be running or might have more than 1 copies." fi done The debug output of the script is as follows: + DAEMON_BIN=/etc/init.d/init-god + DAEMON_BIN_START='/etc/init.d/init-god start' + DAEMON_BIN_STOP='/etc/init.d/init-god stop' + SOME_VARIABLE=foo + CHEF_CONFIG_FILE_PATH=/path/to/file + NODE_INFO_FILE=/mnt/node_info/properties + eval /etc/init.d/init-god stop ++ /etc/init.d/init-god stop . Stopped all watches Stopped god + nohup pkill DAEMON + nohup pkill -f resque Terminated Why does this script exit with a "Terminated" message? What should I do to prevent this from happening?
Asked by theTuxRacer (1083 rep)
Oct 9, 2013, 05:27 AM
Last activity: Oct 12, 2024, 02:11 PM