mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-07 05:53:37 +01:00
101 lines
1.8 KiB
Bash
Executable File
101 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Stops a running calculation in a clean way.
|
|
#
|
|
# Fri Jan 18 16:58:11 CET 2019
|
|
#
|
|
|
|
# Check the QP_ROOT directory
|
|
if [[ -z ${QP_ROOT} ]] ; then
|
|
echo "The QP_ROOT environment variable is not set."
|
|
echo "Please reload the quantum_package.rc file."
|
|
exit 1
|
|
fi
|
|
|
|
TEMP=$(getopt -o cqhs -l soft,cancel,query,help -n $0 -- "$@") || exit 1
|
|
eval set -- "$TEMP"
|
|
|
|
function help() {
|
|
cat << EOF
|
|
Stops a running QP calculation.
|
|
|
|
Usage:
|
|
|
|
$(basename $0) [-chqs] EZFIO_DIR
|
|
|
|
Arguments:
|
|
|
|
EZFIO_DIR EZFIO directory
|
|
|
|
Options:
|
|
|
|
-c --cancel Cancel qp_stop order
|
|
-h --help Print the help message
|
|
-q --query Ask if EZFIO_DIR was requested to stop
|
|
-s --soft Terminate the current step, but don't kill
|
|
the program
|
|
|
|
EOF
|
|
exit 0
|
|
}
|
|
|
|
function error() {
|
|
>&2 echo "$(basename $0): $@"
|
|
exit 2
|
|
}
|
|
|
|
|
|
while true ; do
|
|
case "$1" in
|
|
-h|-help|--help)
|
|
help
|
|
exit 0;;
|
|
-c|--cancel)
|
|
c_opt=1
|
|
;;
|
|
-q|--query)
|
|
q_opt=1
|
|
;;
|
|
-s|--soft)
|
|
s_opt=1
|
|
;;
|
|
--) shift ; break ;;
|
|
*)
|
|
error $(basename $0)": unknown option $1, try --help"
|
|
exit 2;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [[ -z $1 ]] ; then
|
|
help
|
|
error "EZFIO directory not specified"
|
|
fi
|
|
|
|
if [[ ! -d $1 ]] ; then
|
|
error "EZFIO directory not found"
|
|
fi
|
|
|
|
ezfio=$1
|
|
if [[ -z $s_opt ]] ; then
|
|
qpstopfile=${ezfio}/work/qpkill
|
|
else
|
|
qpstopfile=${ezfio}/work/qpstop
|
|
fi
|
|
|
|
if [[ -n ${c_opt} ]] ; then
|
|
rm --force ${qpstopfile}
|
|
elif [[ -n ${q_opt} ]] ; then
|
|
if [[ -f ${qpstopfile} ]] ; then
|
|
echo "${ezfio} was requested to stop"
|
|
exit 0
|
|
else
|
|
echo "${ezfio} was not requested to stop"
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "...${ezfio} is requested to stop..."
|
|
touch ${qpstopfile}
|
|
fi
|
|
|