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. 
 
then usage $script< string identifier >< detectorfile > input file(toashort file)+" "\nNote that the input files and toashort files should be one-to-one related." fi if (( $
 
alias put_queue eval echo n