#!/bin/bash # Initialisation des variables pour les options programme=$(basename $0) version='0.1.3' modif='17 Août 2022' (date; echo "$programme $*") >> /tmp/debug_input_$$ function usage { echo "Usage : $programme (start|ws|job|stop) " echo " $programme help " } function aide { cat << EOT Usage ===== $programme (start|ws|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” ws lance le programme “IRC3sp.pl” en mode “nohup” et “webservice” EOT exit 0 } function lance_irc3 { nohup IRC3sp.pl -t CoL.txt -p /tmp/fifo_irc3 -c & } function lance_irc3_ws { nohup /app/public/IRC3sp.pl -t /app/public/CoL.txt -p /tmp/fifo_irc3 -c -w > /tmp/logIrc3.txt 2>&1 & } function arrete_irc3 { if [[ -p /tmp/fifo_irc3 ]] then echo "%% STOP IRC3" > /tmp/fifo_irc3 fi } function travail { if [[ -p /tmp/fifo_irc3 ]] then echo "Mise en attente du job $$" >> /tmp/debug_input_$$ data=$(cat) mkfifo -m 0666 /tmp/fifo_job_$$ { 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 echo "Fin du job $$" >> /tmp/debug_input_$$ fi } trap 'if [[ -p /tmp/fifo_job_$$ ]]; then rm /tmp/fifo_job_$$; 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 = "ws" ]] then lance_irc3_ws elif [[ $1 = "stop" ]] then arrete_irc3 elif [[ $1 = "job" ]] then travail fi fi exit 0