#!/bin/sh . keystonercv3 # Start the first process nohup python3 /fenix/fenix/cmd/engine.py > /var/log/fenix-engine.log& status=$? if [ $status -ne 0 ]; then echo "Failed to start engine.py: $status" exit $status fi # Start the second process nohup python3 /fenix/fenix/cmd/api.py > /var/log/fenix-api.log& status=$? if [ $status -ne 0 ]; then echo "Failed to start api.py: $status" exit $status fi echo "started Fenix: engine and api" while sleep 60; do ps aux |grep "cmd/engine.py" |grep -q -v grep PROCESS_1_STATUS=$? ps aux |grep "cmd/api.py" |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