CheckProxyProcess 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/env bash
  2. # shellcheck shell=bash
  3. # ``````````````````````````````````````````````````````````````````````````````
  4. # Function name: CheckProxyProcess()
  5. #
  6. # Description:
  7. # Manages proxy processes.
  8. #
  9. # Usage:
  10. # CheckProxyProcess
  11. #
  12. # Examples:
  13. # CheckProxyProcess
  14. #
  15. function CheckProxyProcess() {
  16. # shellcheck disable=SC2034
  17. local _FUNCTION_ID="CheckProxyProcess"
  18. local _STATE=0
  19. # shellcheck disable=SC2034
  20. local proc_type="$1"
  21. # First, we remove current processes.
  22. #_proxy_processes=($(pidof "$proc_type"))
  23. IFS=" " read -r -a _proxy_processes <<< "$(pidof "$proc_type")"
  24. if [[ ${#_proxy_processes[@]} -ne 0 ]] ; then
  25. for _tpr in "${_proxy_processes[@]}" ; do
  26. # shellcheck disable=SC2154
  27. for _rg in "${_proxy_list[@]}" ; do
  28. _tmp_proxy_list+="\\|$_rg"
  29. done
  30. # In this case, we can search for a specific identifier (${_tpr}).
  31. # shellcheck disable=SC2009,SC2034,SC2154
  32. _hpr=$(ps -ax | grep "$proc_type" | grep -v "grep" | grep "$_tpr" | grep "multitor${_tmp_proxy_list}")
  33. if [[ -z "$_hpr" ]] ; then
  34. _logger "warn" \
  35. "${_FUNCTION_ID}()" \
  36. "not found or unknown proxy process for ${proc_type}"
  37. else
  38. _proxy_processes_list+=("$_tpr")
  39. _logger "info" \
  40. "${_FUNCTION_ID}()" \
  41. "added proxy process with '${proc_type}:${_tpr}' pid"
  42. fi
  43. done
  44. else
  45. _logger "warn" \
  46. "${_FUNCTION_ID}()" \
  47. "not found proxy processes"
  48. fi
  49. return $_STATE
  50. }