Sponsored Content
Full Discussion: [BASH] signalling
Top Forums Shell Programming and Scripting [BASH] signalling Post 303002075 by gbengasi on Thursday 17th of August 2017 05:00:05 AM
Old 08-17-2017
[BASH] signalling

Hi guys,

I am using slurm to send file to make calculation on a server at my university.
The time limit for these calculation is 5 days but sometimes it is not enough. For this reason I need a clean up function that before the calculation ends copy the unfinished calculation file ( in order to restart them later). I trapped this function with a SIGUSR2 signal and I used the command --signal=SIGUSR2@600 to launch the signal 10 minutes before the end of the calculation but it doesn't seems to work. You will find following the code:

this is the command:

Code:
FILE=0
InPath="${inputdir}/*.gjf"
for FILE in $InPath ; do
   if [ -s ${FILE} ]
   then
        FILENAME=${FILE##*/}
        FILENAME=${FILENAME%.*}

        JOB=${FILENAME:0:5}
        echo ${FILE} was submitted as ${JOB}
        mv "${inputdir}/${FILENAME}".*  "${submitdir}/"
        outputpath="${outputdir}/${FILENAME}.out"

        # Launch the executable
SubFile="${submitdir}/${FILENAME}.gjf"

sbatch -A jgu-heinze-oshell -p ${QUEUE} -J ${JOB} -o ${outputpath} -n ${PROCS} -t ${RUN} --mem-per-cpu=2000 --signal=SIGUSR2@600  ./orca.sh ${SubFile}

FILENAME=""
fi    
done


This is the orca.sh file


Code:
# Store working directory to be safe
SAVEDPWD=$(pwd)
 
# We define a bash function to do the cleaning when the signal is caught
cleanup(){
	
	for FILE3 in "${rundir}"/*.gjf ; do
   if [ -s ${FILE3} ]
   then
        FILENAME=${FILE3##*/}
        FILENAME=${FILENAME%.*}

   

    rm /localscratch/${SLURM_JOB_ID}/*.tmp
    cp /localscratch/${SLURM_JOB_ID}/* "${outputdir}"/
    mv "${rundir}"/${FILENAME}.* "${findir}"/
    exit 0

   fi
done
}
 
# Register the cleanup function when SIGUSR2 is sent,
# ten minutes before the job gets killed
trap 'cleanup' SIGUSR2
 
# Copy input file

#SubFile="${submitdir}/*.gjf"
# echo ${SubFile}
for FILE2 in ${SubFile} ; do
   if [ -s ${FILE2} ]
   then
        FILENAME=${FILE2##*/}
        FILENAME=${FILENAME%.*}


# ls /localscratch/
cp "${submitdir}/${FILENAME}".* /localscratch/${SLURM_JOB_ID}


mv "${submitdir}/${FILENAME}".* "${rundir}/"



# Go to jobdir and start the program
cd /localscratch/${SLURM_JOB_ID}
set OMPI_MCA_btl=self,sm
/cluster/Apps/orca/3.0.2/orca ${FILENAME}.gjf

# Call the cleanup function when everything went fine
cleanup

FILENAME=""
   fi
done

I do not undestrand why it doesn't work !!! SmilieSmilieSmilie

Thank you for your help
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

passing variable from bash to perl from bash script

Hi All, I need to pass a variable to perl script from bash script, where in perl i am using if condition. Here is the cmd what i am using in perl FROM_DATE="06/05/2008" TO_DATE="07/05/2008" "perl -ne ' print if ( $_ >="$FROM_DATE" && $_ <= "$TO_DATE" ) ' filename" filename has... (10 Replies)
Discussion started by: arsidh
10 Replies

2. Shell Programming and Scripting

how to make your bash script run on a machine with csh and bash

hi, i have a script that runs on bash and would like to run it on a machine that has csh and bash. the default setting on that machine is csh. i dont want to change my code to run it with a csh shell. is there any way i can run the script (written in bash) on this machine? in other words is there... (3 Replies)
Discussion started by: npatwardhan
3 Replies

3. Programming

Signalling interrupts to user space

What is the simplest function I can use to signal an interrupt from kernel module to user space. I knw the usr app pid in my module. Also can someone explain the parameters in kill_fasync and send_sig (0 Replies)
Discussion started by: dragonpoint
0 Replies

4. UNIX for Advanced & Expert Users

ftp - any best practices for signalling end of transfer?

Hi, I'm writing shell scripts to handle incoming and outgoing automated sftp transfers between a local server and various remote servers belonging to different organizations. I'm wondering if there are any recommended or "best practices" for signalling the end of a ftp file transmission... (2 Replies)
Discussion started by: _dev_null
2 Replies

5. Shell Programming and Scripting

Using arrays in bash using strings to bash built-in true

I have the following code and for some reason when I call the program using /home/tcdata/tatsh/trunk/hstmy/bin/bash/raytrac.bash --cmod=jcdint.cmod I get hasArgument = hasArgument = true Somehow the array element is returning even though I have not chosen the option. ... (41 Replies)
Discussion started by: kristinu
41 Replies

6. UNIX for Dummies Questions & Answers

Im new to bash scriping and i found this expression on a bash script what does this mean.

# check host value regex='^(||1|2|25)(\.(||1|2|25)){3}$' if ')" != "" ]; then if ]; then echo host $host not found exit 4 fi elif ]; then echo $host is an invalid host address exit 5 fi espeacailly the top regex part? ---------- Post updated at 06:58 PM ---------- Previous update was... (1 Reply)
Discussion started by: kevin298
1 Replies

7. Shell Programming and Scripting

Bash to select text and apply it to a selected file in bash

In the bash below I am asking the user for a panel and reading that into bed. Then asking the user for a file and reading that into file1.Is the grep in bold the correct way to apply the selected panel to the file? I am getting a syntax error. Thank you :) ... (4 Replies)
Discussion started by: cmccabe
4 Replies

8. Shell Programming and Scripting

How to run several bash commands put in bash command line?

How to run several bash commands put in bash command line without needing and requiring a script file. Because I'm actually a windows guy and new here so for illustration is sort of : $ bash "echo ${PATH} & echo have a nice day!" will do output, for example:... (4 Replies)
Discussion started by: abdulbadii
4 Replies

9. UNIX for Beginners Questions & Answers

Escape bash-special character in a bash string

Hi, I am new in bash scripting. In my work, I provide support to several users and when I connect to their computers I use the same admin and password, so I am trying to create a script that will only ask me for the IP address and then connect to the computer without having me to type the user... (5 Replies)
Discussion started by: arcoa05
5 Replies

10. UNIX for Beginners Questions & Answers

In Bash shell - the ps -ef shows only the /bin/bash but the script name is not displayed

In Bash shell - the ps -ef shows only the /bin/bash but the script name is not displayed ? Is there any way to get the script names for the process command ? --- Post updated at 08:39 AM --- in KSH (Korn Shell), my command output shows the script names but when run in the Bash Shell... (3 Replies)
Discussion started by: i4ismail
3 Replies
GNUNET-NAMESTORE(1)					      General Commands Manual					       GNUNET-NAMESTORE(1)

NAME
gnunet-namestore - manipulate GNUnet zones SYNOPSIS
gnunet-namestore [options]-zZONEFILE DESCRIPTION
gnunet-namestore can be used to create and manipulate a GNS zone. OPTIONS
-a, --add Desired operation is adding a record -c FILENAME, --config=FILENAME Use the configuration file FILENAME. -d, --delete Desired operation is deleting a record -D, --display Desired operation is listing of matching records -e TIME, --expiration=TIME Specifies expiration time of record to add; format is relative time, i.e "1 h" or "7 d 30 m". Supported units are "ms", "s", "min" or "minutes", "h" (hours), "d" (days) and "a" (years). -h, --help Print short help on options. -L LOGLEVEL, --loglevel=LOGLEVEL Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR. -n NAME, --name=NAME Name of the record to add/delete/display -t TYPE, --type=TYPE Type of the record to add/delete/display (i.e. "A", "AAAA", "NS", "PKEY", "MX" etc.) -v, --version Print GNUnet version number. -V VALUE, --value=VALUE Value to store or remove from the GNS zone. Specific format depends on the record type. A records expect a dotted decimal IPv4 address, AAAA records an IPv6 address, PKEY a public key in GNUnet's printable format, and CNAME and NS records should be a domain name. -z FILENAME, --zonekey=FILENAME Specifies the filename with the private key for the zone (mandatory option) BUGS
Report bugs by using Mantis <https://gnunet.org/bugs/> or by sending electronic mail to <gnunet-developers@gnu.org> SEE ALSO
gnunet-gns(1) GNUnet Mar 5, 2012 GNUNET-NAMESTORE(1)
All times are GMT -4. The time now is 08:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy