Eu suspeito que há alguma informação adicional sendo retornada por essa linha ps ... grep
na sua função startnotification()
. Para depurar isso mais eu rodaria o script com alguma depuração ativada primeiro.
function startnotification {
set -x
VAR='ps -ef | grep "$CMD" | grep -v grep | wc -l'
if [ $VAR -gt 0 ]; then
echo "$NAME already running..."
else
nohup $CMD > $LOG_FILE 2>&1 &
echo $! > $PID_FILE
echo "$NAME listener is started..."
fi
set +x
}
Usar set -x
ativará o recurso de mensagens detalhadas e set +x
desativará. Isso deve esclarecer onde seu script está falhando.