gridengine/examples/jobs/worker.sh

80 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
#
#
#___INFO__MARK_BEGIN__
##########################################################################
#
# The Contents of this file are made available subject to the terms of
# the Sun Industry Standards Source License Version 1.2
#
# Sun Microsystems Inc., March, 2001
#
#
# Sun Industry Standards Source License Version 1.2
# =================================================
# The contents of this file are subject to the Sun Industry Standards
# Source License Version 1.2 (the "License"); You may not use this file
# except in compliance with the License. You may obtain a copy of the
# License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
#
# Software provided under this License is provided on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
# See the License for the specific provisions governing your rights and
# obligations concerning the Software.
#
# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
#
# Copyright: 2001 by Sun Microsystems, Inc.
#
# All Rights Reserved.
#
##########################################################################
#___INFO__MARK_END__
#
# Usage: worker.sh [[time [nprocs] [ntimes] [work_parameter]]]
# default for time is 120 seconds
# default for nprocs is 1
# default for work_parameter is ""
# request "bin/sh" as shell for job
#$ -S /bin/sh
trap "echo 'got sigxcpu'" 24
time=120
procs=1
ntimes=1
wparam=""
if [ $# -ge 1 ]; then
time=$1
fi
if [ $# -ge 2 ]; then
procs=$2
fi
if [ $# -ge 3 ]; then
ntimes=$3
fi
if [ $# -ge 4 ]; then
wparam=$4
fi
echo "Doing this $ntimes times"
if [ ! -x /usr/lib/gridengine//work ]; then
echo "worker.sh: can't execute /usr/lib/gridengine/work" >&2
exit 1
fi
while [ $ntimes != '0' ]; do
ntimes=`expr $ntimes - 1`
echo "Running $time seconds"
echo "Using $procs processes"
/usr/lib/gridengine//work -f $procs -w $time $wparam &
done
wait