Jpp  16.0.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JLigier-local.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 script=${0##*/}
6 
7 # ------------------------------------------------------------------------------------------
8 #
9 # Utility script to locally run JLigier.
10 #
11 # ------------------------------------------------------------------------------------------
12 
13 if [ -z $JPP_DIR ]; then
14  echo "Variable JPP_DIR undefined."
15  exit
16 fi
17 
18 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
19 
20 set_variable PORT 5553
21 set_variable TIMEOUT_US 3000
22 set_variable: DEBUG JNET_DEBUG 1
23 set_variable: WORKDIR JNET_WORKDIR ${TMPDIR:-/tmp}/
24 set_variable APPLICATION JLigier
25 
26 if do_usage $*; then
27  usage "$script [port] <option>"\
28  "\nPossible options: start, stop, continue, restart."
29 fi
30 
31 case $# in
32  2) set_variable OPTION $2
35  *) usage;;
36 esac
37 
38 if [[ $OPTION != "start" && $OPTION != "stop" && $OPTION != "continue" && $OPTION != "restart" ]]; then
39  fatal "Invalid option $OPTION."
40 fi
41 
42 #
43 # get PID
44 #
45 alias get_pid='eval ps h -o \"%p %a\" -C ${APPLICATION} | eval sed -n \"s/ \*\\\\\(\[0-9\]\*\\\\\) ${APPLICATION} \.\*-P ${PORT}\\\\\( \\\\\|\$\\\\\)\.\*/\\\1/p\"'
46 
47 if [[ $OPTION == "stop" || $OPTION == "restart" ]]; then
48 
49  PID=`get_pid`
50 
51  if [[ -n $PID ]]; then
52  notice "Stop $APPLICATION using port $PORT with PID $PID."
53  kill -9 $PID
54  fi
55 
56  OPTION=${OPTION/restart/start}
57 
58 elif [[ $OPTION == "continue" ]]; then
59 
60  PID=`get_pid`
61 
62  if [[ -n $PID ]]; then
63  notice "$APPLICATION using port $PORT is running with PID $PID."
64  else
65  OPTION=start
66  fi
67 
68 fi
69 
70 if [[ $OPTION = "start" ]]; then
71 
72  PID=`get_pid`
73 
74  if [[ -n $PID ]]; then
75  fatal "$APPLICATION using port $PORT is already running with PID $PID."
76  fi
77 
78  notice "$APPLICATION -P $PORT -T $TIMEOUT_US -d $DEBUG --! >& $WORKDIR/ligier.log"
79  nohup $APPLICATION -P $PORT -T $TIMEOUT_US -d $DEBUG --! >& $WORKDIR/ligier.log &
80 
81  for (( i = 0; $i != 20; ++i )); do
82 
83  sleep 1
84 
85  PID=`get_pid`
86 
87  if [[ -n $PID ]]; then
88  notice "$APPLICATION using port $PORT is now running with PID $PID."
89  return 0
90  fi
91  done
92 
93  error "$APPLICATION is not running on $HOST."
94 fi
95 
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
Definition: JTuna.sh:26
then usage $script[port]< option > nPossible restart fi case set_variable OPTION set_variable PORT
exit
Definition: JPizza.sh:36
then echo
const int n
Definition: JPolint.hh:676
then PID
Definition: mkqueue.sh:67
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
do set_variable OUTPUT_DIRECTORY $WORKDIR T
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
* usage
skip elif((BINFRAC< 1.0))
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then display $WORKDIR
Definition: plot-Domino.sh:128
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:42
script
Definition: JAcoustics.sh:2
*fatal Wrong option $OPTION
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
do alias $i