#!/bin/sh
#set -x
SPOOL=/var/spool/lpd

if [ -x /usr/sbin/lpd ]; then 
  LPD=/usr/sbin/lpd
elif [ -x /usr/bin/lpd ]; then
  LPD=/usr/bin/lpd
elif [ -x /bin/lpd ]; then
  LPD=/bin/lpd
elif [ -x /sbin/lpd ]; then
  LPD=/sbin/lpd
else
  exit 5
fi

E=0;

if [ ! -d $SPOOL/klprfax ]; then
  mkdir $SPOOL/klprfax
  if [ $? = 0 ]; then
    chown root $SPOOL/klprfax
    if [ $? = 0 ]; then 
      chgrp lp   $SPOOL/klprfax
      if [ $? != 0 ]; then
        E=4;
      fi
    fi
  fi
else 
  E=1;
fi

PID=`ps ax | grep lpd | grep -v grep | grep -v klprfax_lpd |  awk '/.*/ { print $1 }'`
if [ "$PID" = "" ]; then
  exit 2
fi

kill $PID
PID=`ps ax | grep lpd | grep -v grep | grep -v klprfax_lpd | awk '/.*/ { print $1 }'`
if [ "$PID" != "" ]; then
  kill -9 $PID
fi

$LPD
PID=`ps ax | grep lpd | grep -v grep | grep -v klprfax_lpd | sed -e 's/ //' | awk '/[0-9]+/ { print $1 }'`
if [ "$PID" = "" ]; then
  exit 2
fi

exit $E
