supervisor_discovery.sh 879 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/bash
  2. # Version : v1.0 2017-12-28
  3. # For auto discovery of supervisor
  4. export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  5. # list all processes
  6. PROCESSES=`sudo /usr/bin/supervisorctl status 2>/dev/null| grep -v 'supervisor.sock'|awk '{print $1}'`
  7. # get processes array
  8. INDEX=0
  9. for PROCESS_NAME in $PROCESSES
  10. do
  11. PROCESS_NAME_NUM[$INDEX]=$PROCESS_NAME
  12. let INDEX=INDEX+1
  13. done
  14. num=$(echo ${#PROCESS_NAME_NUM[@]})
  15. # echo json
  16. printf '{\n'
  17. printf '\t"data":[\n'
  18. for((i=0;i<${#PROCESS_NAME_NUM[@]};++i))
  19. {
  20. NUM=$(echo $((${#PROCESS_NAME_NUM[@]}-1)))
  21. if [ "$i" != ${NUM} ];then
  22. printf "\t\t{ \n"
  23. printf "\t\t\t\"{#PROCESS_NAME}\":\"${PROCESS_NAME_NUM[$i]}\"},\n"
  24. else
  25. printf "\t\t{ \n"
  26. printf "\t\t\t\"{#PROCESS_NAME}\":\"${PROCESS_NAME_NUM[$NUM]}\"}\n"
  27. fi
  28. }
  29. printf ']}'