pid 697 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/sh
  2. # Uncomment the following line to get debug info
  3. #set -x
  4. SELF="$(basename ${0})"
  5. PID_FILE="/var/run/funkey.pid"
  6. usage() {
  7. >&2 echo "Usage: ${SELF} record pid"
  8. >&2 echo " ${SELF} erase"
  9. >&2 echo " ${SELF} print"
  10. exit 1
  11. }
  12. record_pid() {
  13. local pid="${1}"
  14. if ! [ ! "${pid}" -ne "${pid}" ]; then
  15. >&2 echo "error: ${pid} is not a number"
  16. exit 2
  17. fi
  18. echo "${1}" > "${PID_FILE}"
  19. }
  20. erase_pid() {
  21. rm -f "${PID_FILE}"
  22. }
  23. case "${1}" in
  24. record)
  25. if [ ${#} -ne 2 ]; then
  26. usage
  27. fi
  28. record_pid "${2}"
  29. ;;
  30. erase)
  31. if [ ${#} -ne 1 ]; then
  32. usage
  33. fi
  34. erase_pid
  35. ;;
  36. print)
  37. cat "${PID_FILE}"
  38. ;;
  39. *)
  40. usage
  41. ;;
  42. esac
  43. exit 0