#!/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