#!/usr/local/bin/bash # # Copyright 2009-2020 The VOTCA Development Team (http://www.votca.org) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # if [ "$1" = "--help" ]; then cat <> gnuplot_pipe.log [[ $REPLY = "exit" ]] && break fi done | $gnuplot ${CSG_RUNTEST:+-d} $opts & while true; do if [[ -z $(ps -o pid= -p "${CSG_MASTER_PID}") ]]; then echo "exit" > $(get_main_dir)/gnuplot_pipe rm -rf gnuplot_pipe gnuplot_pipe.log gnuplot_pipe.lock exit fi sleep 1 #lowers the load done & sleep 1 #wait for gnuplot_pipe cd - > /dev/null ) 7> $(get_main_dir)/gnuplot_pipe.lock #gnuplot is in laststep, move to current one echo "cd '$PWD'" > $(get_main_dir)/gnuplot_pipe || die "piping to gnuplot_pipe failed" #name pipe accept only one command at the time, for i in $(cat ); do echo $i > pipe; done would do the same echo "load '$(get_main_dir)/$script'" > $(get_main_dir)/gnuplot_pipe || die "piping to gnuplot_pipe failed" else [[ -z $(type -p killall) ]] && die "${0##*/}: could not find killall needed to kill gnuplot" killall $what_to_kill $gnuplot ${CSG_RUNTEST:+-d} $opts "$(get_main_dir)/$script" || true #exit code not always clear fi