Newer
Older
irc3 / public / irc3_wrapper.sh
#!/bin/bash


# Initialisation des variables pour les options
programme=$(basename $0)
version='0.1.3'
modif='17 Août 2022'

function usage
{
echo "Usage : $programme (start|job|stop) "
echo "        $programme help "
}

function aide
{
cat << EOT

Usage
=====
    $programme (start|job|stop)
    $programme help

Options
=======
    help   affiche cette aide
    job    envoie les données au programme “IRC3sp.pl”
    start  lance le programme “IRC3sp.pl” en mode “nohup”
    stop   arrête le programme “IRC3sp.pl”

EOT

exit 0
}

function lance_irc3
{
nohup /app/public/IRC3sp.pl -t /app/public/CoL.txt -p /tmp/fifo_irc3 -c & #> /dev/null &
}

function arrete_irc3
{
if [[ -p /tmp/fifo_irc3 ]]
then
    echo "%% STOP IRC3" > /tmp/fifo_irc3
fi
}

function travail
{
if [[ -p /tmp/fifo_irc3 ]]
then
    mkfifo -m 0666 /tmp/fifo_job_$$

    data=$(cat)
    {
    echo "DEBUT<<<<<<<<<<<<<<<<<<";
    echo "$data";
    echo "FIN  >>>>>>>>>>>>>>>>>>>";
    } >> /tmp/debug_input_$$ # debug

    (echo "%% JOB POUR FIFO /tmp/fifo_job_$$";
     echo "$data";
     echo "%% FIN JOB") > /tmp/fifo_irc3

    cat /tmp/fifo_job_$$
    rm -f /tmp/fifo_job_$$
fi
}

trap 'if [[ -f /tmp/fifo_job_$$ ]]; then echo ok; fi' HUP INT TERM EXIT
# Options
if [[ -z $1 ]]
then
    echo " "
    usage
    exit 1
else
    if [[ $1 = "help" ]]
    then
        aide
    elif [[ $1 = "start" ]]
    then
        lance_irc3
    elif [[ $1 = "stop" ]]
    then
        arrete_irc3
    elif [[ $1 = "job" ]]
    then
        travail
    fi
fi


exit 0