Use slurm job id

user1824346 picture user1824346 · Nov 13, 2013 · Viewed 9k times · Source

When I launch a computation on the cluster, I usually have a separate program doing the post-processing at the end :

sbatch simulation
sbatch --dependency=afterok:JOBIDHERE postprocessing

I want to avoid mistyping and automatically have the good job id inserted. Any idea? Thanks

Answer

damienfrancois picture damienfrancois · Nov 16, 2013

You can do something like this:

RES=$(sbatch simulation) && sbatch --dependency=afterok:${RES##* } postprocessing

The RES variable will hold the result of the sbatch command, something like Submitted batch job 102045. The construct ${RES##* } isolates the last word (see more info here), in the current case the job id. The && part ensures you do not try to submit the second job in the case the first submission fails.