6 #-------------------------------------------------------------------------------------- 
    8 #                   Utility script for batch queue functions. 
   10 #-------------------------------------------------------------------------------------- 
   14 # Put command(s) in given queue; do not submit job. 
   17 # \param   2-N       command(s) 
   24     echo -
n "$*;" >> $queue_name
 
   29 # Put command(s) in given queue and submit job. 
   32 # \param   2-N       command(s) 
   39     echo "$*" >> $queue_name
 
   56     if [[ -e $queue_name ]]; 
then 
   58         if [[ -p $queue_name ]]; 
then 
   59             fatal 
"Queue $queue_name in use." 
   63         mkfifo $queue_name                                # create 
a new FIFO
 
   66     fd=7                                                  # file descriptor
 
   68     eval 
"exec $fd<>$queue_name"                          # attach file descriptor to FIFO
 
   70     while read job <& $fd; 
do                             # 
read job from file descriptor
 
   72         if [[ -
n $job ]]; 
then 
   74             if [[ $job = 
"exit" ]]; 
then 
   79             eval exec $job &                              # submit job
 
   83             while (( ${#jobstates} >= $queue_size )); 
do 
   89     rm -
f $queue_name                                     # 
remove FIFO
 
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream. 
 
do set_array DAQHEADER JPrintDAQHeader f
 
then $JPP_DIR software JCalibrate JCalibrateToT a
 
alias put_queue eval echo n