run_demo.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/bin/bash
  2. arg=$1
  3. gatewayd_path="./target/release/gatewayd"
  4. cashierd_path="./target/release/cashierd"
  5. darkfid_path="./target/release/darkfid"
  6. drk_path="./target/release/drk"
  7. echo Running demo...
  8. if [ "$arg" = "-d" ]; then
  9. echo DEBUG MODE
  10. gatewayd_path="./target/debug/gatewayd"
  11. cashierd_path="./target/debug/cashierd"
  12. darkfid_path="./target/debug/darkfid"
  13. drk_path="./target/debug/drk"
  14. fi
  15. echo Open new tab and run:
  16. echo " $ " $drk_path --help
  17. trap cleanup SIGINT
  18. function cleanup()
  19. {
  20. screen -X -S "gatewayd" quit
  21. screen -X -S "cashierd" quit
  22. screen -X -S "darkfid" quit
  23. echo Exit demo...
  24. }
  25. # Start gateway daemon
  26. screen -S "gatewayd" -dm "$gatewayd_path" -v
  27. status=$?
  28. if [ $status -ne 0 ]; then
  29. echo "Failed to start gateway daemon: $status"
  30. exit $status
  31. fi
  32. # Start cashier daemon
  33. screen -S "cashierd" -dm "$cashierd_path" -v
  34. status=$?
  35. if [ $status -ne 0 ]; then
  36. echo "Failed to start cashier daemon: $status"
  37. exit $status
  38. fi
  39. # Start darkfi daemon
  40. screen -S "darkfid" -dm "$darkfid_path" -v
  41. status=$?
  42. if [ $status -ne 0 ]; then
  43. echo "Failed to start darkfi daemon: $status"
  44. exit $status
  45. fi
  46. # Exit with an error if it detects that either of the processes has exited.
  47. # Otherwise it loops forever, waking up every 60 seconds
  48. while sleep 60; do
  49. ps aux |grep "gatewayd" |grep -q -v grep
  50. PROCESS_1_STATUS=$?
  51. ps aux |grep "cashierd" |grep -q -v grep
  52. PROCESS_2_STATUS=$?
  53. ps aux |grep "darkfid" |grep -q -v grep
  54. PROCESS_3_STATUS=$?
  55. if [ $PROCESS_1_STATUS -ne 0 -o $PROCESS_2_STATUS -ne 0 -o $PROCESS_3_STATUS -ne 0 ]; then
  56. echo "One of the processes has already exited."
  57. cleanup
  58. exit 1
  59. fi
  60. done