13_2c_1d_1p_pub 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/bin/bash
  2. printf "$PRINTFPATTERN" $0 : "2 Compilations. 1 Dossier. 1 Projet. Pad Public. export/txt"
  3. URL_BASE=https%3A%2F%2Fpad.exegetes.eu.org%2Fp%2Fg.DSXI1kGFT1gjor66%24Abro-REP-Tele2-Principal%2Fexport%2Ftxt
  4. URL_GARDE=https%3A%2F%2Fpad.exegetes.eu.org%2Fp%2Fg.DSXI1kGFT1gjor66%24Abro-REP-Tele2-Garde%2Fexport%2Ftxt
  5. DOSSIER=MonDossier$$
  6. PROJET=Abro2$$
  7. # pids conserve la liste des pids
  8. # retcode conserve le code retour de chaque pid une fois terminé
  9. handle_child() {
  10. local tmp=()
  11. for((i=0;i<${#pids[@]};++i));
  12. do
  13. if test ! -d /proc/${pids[i]};
  14. then
  15. wait ${pids[i]}
  16. retcode[${pids[i]}]=$?
  17. else
  18. tmp+=(${pids[i]})
  19. fi
  20. done
  21. pids=(${tmp[@]})
  22. }
  23. set -o monitor
  24. trap "handle_child" CHLD
  25. # Start background processes
  26. OUTPUT1=$(./cocktail -v \
  27. -d "$DOSSIER" \
  28. -p "$PROJET" \
  29. -b "$URL_BASE" \
  30. -g "$URL_GARDE" 2>&1 >/dev/null) &
  31. pids+=($!)
  32. OUTPUT=$(printf "%s\n%s" "$OUTPUT" "START $!")
  33. OUTPUT2=$(./cocktail -v \
  34. -d "$DOSSIER" \
  35. -p "$PROJET" \
  36. -b "$URL_BASE" \
  37. -g "$URL_GARDE" 2>&1 >/dev/null) &
  38. pids+=($!)
  39. OUTPUT="START $!"
  40. # Wait until all background processes are stopped
  41. while [ ${#pids[@]} -gt 0 ];
  42. do
  43. OUTPUT=$(printf "%s\n%s %s %s" "$OUTPUT" "WAITING FOR: "${pids[@]})
  44. sleep 4;
  45. done
  46. OUTPUT=$(printf "%s\n%s" "$OUTPUT" "STOPPED")
  47. # affichage des code retour et generation de la chaine de test
  48. for pid in "${!retcode[@]}"
  49. do
  50. statusstring="$statusstring $pid=${retcode[$pid]}"
  51. retcodestr="${retcodestr}${retcode[$pid]}"
  52. done
  53. echo -n "RC $statusstring "
  54. if test $retcodestr -eq "02" -o $retcodestr -eq "20";
  55. then
  56. echo "[ OK ]"
  57. echo "$OUTPUT"
  58. exit 0
  59. else
  60. echo "[FAILED]"
  61. echo "$OUTPUT"
  62. exit 1
  63. fi