-
-
Save Danack/3178784ca9b1f9c54e69f417f10d6080 to your computer and use it in GitHub Desktop.
naive_alive_check.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Start the first process | |
./my_first_process -D | |
status=$? | |
if [ $status -ne 0 ]; then | |
echo "Failed to start my_first_process: $status" | |
exit $status | |
fi | |
# Start the second process | |
./my_second_process -D | |
status=$? | |
if [ $status -ne 0 ]; then | |
echo "Failed to start my_second_process: $status" | |
exit $status | |
fi | |
# Naive check runs checks once a minute to see if either of the processes exited. | |
# This illustrates part of the heavy lifting you need to do if you want to run | |
# more than one service in a container. The container exits with an error | |
# if it detects that either of the processes has exited. | |
# Otherwise it loops forever, waking up every 60 seconds | |
while sleep 60; do | |
ps aux |grep my_first_process |grep -q -v grep | |
PROCESS_1_STATUS=$? | |
ps aux |grep my_second_process |grep -q -v grep | |
PROCESS_2_STATUS=$? | |
# If the greps above find anything, they exit with 0 status | |
# If they are not both 0, then something is wrong | |
if [ $PROCESS_1_STATUS -ne 0 -o $PROCESS_2_STATUS -ne 0 ]; then | |
echo "One of the processes has already exited." | |
exit 1 | |
fi | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment