The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/bin/sh
# DESCRIPTION: Sample file to place in /etc/init.d to start the daemon
# Distributed with IPC::Locker
#
# Copyright 1999-2017 by Wilson Snyder.  This program is free software;
# you can redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License Version 2.0.
#
# chkconfig: 23456 99 10
# description: Pidstatd provides process information services for IPC::PidStat
# processname: pidstatd
#
### BEGIN INIT INFO
# Provides:          pidstatd
# Required-Start:    $syslog $remote_fs $network
# Should-Start:      cron
# Required-Stop:     $remote_fs $network
# Should-Stop:
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: pidstatd
# Description:       pidstatd
### END INIT INFO


state=$1
prog=/usr/local/bin/pidstatd

case $state in
  start)
	if [ $EUID != 0 ]; then
	    echo "Run as root, only root can do kill 0's"
	    exit 10
	fi
	if [ -f $prog ]; then
            echo starting $prog
	    $prog &
	else
	    echo Service broken, not found: $prog
	fi
	exit 0
        ;;
  stop)
        if test "x`pidof -o $$ -o $PPID -x pidstatd`" != x; then
                echo -n $"Stopping pidstatd: "
                kill `pidof -o $$ -o $PPID -x pidstatd`
                echo
        fi
	exit 0
        ;;
  restart|reload)
	$0 stop
	$0 start
	exit 0
	;;
  status)
        if test "x`pidof -o $$ -o $PPID -x pidstatd`" != x; then
	        ps f -ww `pidof -o $$ -o $PPID -x pidstatd`
        fi
	exit 0
	;;
*)
	echo $"Usage: $0 {start|stop|restart|reload|status}"
	exit 1
esac