I am running R on EC2 spot instances and I need R to terminate the instance and cancel the spot request once the script has run.
For that I have set the "Request ID" into an environmental variable in /.bashrc
and my plan was to simply call the following code into R once the script is ready
system("ec2-cancel-spot-instance-requests $SIR")
The issue I am having is that R is not "seeing" the same environmental variables I seen when I type env
from outside R thus the command is not working.
I have checked and if I set my environmental variables at /etc/environment
R is able to see those variables, but here is the other problem. As those variables are dynamic (the instance ID and the request ID is different each time a spot instance is created), I am running a script to create them in the form of:
export SIR=`cat /etc/ec2_instance_spot_id.txt`
Where that file contains the dynamic ID
So, how can I insert "dynamic" environmental variables into /etc/environment
? Or, how can I make R read the environmental variables at /.bashrc
?
Any tip in the right direction will be much appreciated!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…