netdata-init-d.in 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-3.0+
  3. #
  4. # netdata Real-time performance monitoring, done right
  5. # chkconfig: 345 99 01
  6. # description: Netdata is a daemon that collects data in real-time (per second)
  7. # and presents a web site to view and analyze them. The presentation
  8. # is also real-time and full of interactive charts that precisely
  9. # render all collected values.
  10. # processname: netdata
  11. # Source functions
  12. . /etc/rc.d/init.d/functions
  13. DAEMON="netdata"
  14. DAEMON_PATH=@sbindir_POST@
  15. PIDFILE=@localstatedir_POST@/run/$DAEMON.pid
  16. DAEMONOPTS="-P $PIDFILE"
  17. STOP_TIMEOUT="60"
  18. [ -e /etc/sysconfig/$DAEMON ] && . /etc/sysconfig/$DAEMON
  19. LOCKFILE=/var/lock/subsys/$DAEMON
  20. service_start()
  21. {
  22. [ -x $DAEMON_PATH ] || exit 5
  23. echo -n "Starting $DAEMON..."
  24. daemon $DAEMON_PATH/$DAEMON $DAEMONOPTS
  25. RETVAL=$?
  26. echo
  27. [ $RETVAL -eq 0 ] && touch $LOCKFILE
  28. return $RETVAL
  29. }
  30. service_stop()
  31. {
  32. printf "%-50s" "Stopping $DAEMON..."
  33. killproc -p ${PIDFILE} -d ${STOP_TIMEOUT} $DAEMON
  34. RETVAL=$?
  35. echo
  36. [ $RETVAL -eq 0 ] && rm -f ${PIDFILE} ${LOCKFILE}
  37. return $RETVAL
  38. }
  39. condrestart()
  40. {
  41. if ! service_status > /dev/null; then
  42. RETVAL=$1
  43. return $RETVAL
  44. fi
  45. service_stop
  46. service_start
  47. }
  48. service_status()
  49. {
  50. status -p ${PIDFILE} $DAEMON_PATH/$DAEMON
  51. }
  52. service_status_quiet()
  53. {
  54. status -p ${PIDFILE} $DAEMON_PATH/$DAEMON >/dev/null 2>&1
  55. }
  56. case "$1" in
  57. start)
  58. service_status_quiet && exit 0
  59. service_start
  60. ;;
  61. stop)
  62. service_status_quiet || exit 0
  63. service_stop
  64. ;;
  65. restart)
  66. service_stop
  67. service_start
  68. ;;
  69. try-restart)
  70. condrestart 0
  71. ;;
  72. force-reload)
  73. condrestart 7
  74. ;;
  75. status)
  76. service_status
  77. ;;
  78. *)
  79. echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
  80. exit 3
  81. esac