functions.sh 935 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/bin/sh
  2. # useful functions
  3. # 2013-09-26 11:00 created by niujiuru
  4. # export envionment variables
  5. export_env()
  6. {
  7. PATH="/bin:/sbin:/usr/bin:/usr/sbin"
  8. CWD=$(dirname $0)
  9. [ "${CWD%%[^/]*}" != "/" ] && CWD="${PWD}/${CWD}"
  10. export PATH CWD
  11. }
  12. # load module by name
  13. # pass THIS_MODULE to module
  14. # $1: module name
  15. load_module()
  16. {
  17. local module="$1"
  18. THIS_MODULE="${module}"
  19. . ${CWD}/modules/${module}
  20. }
  21. # load module & call module's method
  22. # $1: module name
  23. # $2: method name
  24. # $...: method params
  25. call_module()
  26. {
  27. local module="$1"
  28. local method="$2"
  29. shift 2
  30. load_module "$module" && "$method" $*
  31. return $?
  32. }
  33. # return true if program is running
  34. # $1: program's name
  35. is_running()
  36. {
  37. ps | grep -w "$1" | grep -v "grep" &>/dev/null
  38. }
  39. # kill program(s) by name
  40. # $1: program name
  41. kill_programs()
  42. {
  43. local sig=${2:-15}
  44. for p in $(ps | grep -w "$1" | grep -v "grep" | awk '{print $1}')
  45. do
  46. kill -$sig $p
  47. done
  48. }