Jpp  18.2.0
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
usr share Modules init zsh export TMPDIR
exit
Definition: JPizza.sh:36
then
Definition: datalogs.sh:31
const int n
Definition: JPolint.hh:742
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:21
do set_variable OUTPUT_DIRECTORY $WORKDIR T
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))
fi set_variable FILENAME $WORKDIR
Definition: datalogs.sh:34
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then echo
Definition: JQAQC.sh:90
static JNullStream null
Null I/O stream.
Definition: JNullStream.hh:51
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
script
Definition: JAcoustics.sh:2
*fatal Wrong option $OPTION
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62
do alias $i