Hi Jessica,
thanks a lot for your help and good explanation -
scontrol update job=$SLURM_JOB_ID name=myname
does exactly what I want :)
Cheers,
Andreas
Jessica Nettelblad <jessica.nettelb...@gmail.com> writes:
Hi Andreas,
The Slurm controller has job names in its own data structure.
The Slurm controller job name is set to the name of the job
script by
default, or to a name you define for example with -J.
The environment variable SLURM_JOB_NAME is then set to this
Slurm
controller job name by job start.
So there are two job names you can change for a running job,
depending on
what you want to do more exactly:
scontrol update job=$SLURM_JOB_ID name=myname
- Updates the Slurm controller job name, in the Slurm
controller's data
structure.
- Controller calls like squeue will use this new name. For
example squeue
-n myname will list all jobs with this name.
- Doesn't update SLURM_JOB_NAME. So the name that is presented
by slurmctld
can be changed back and forth without messing up the environment
variable.
export SLURM_JOB_NAME=myname
- Updates the environment variable SLURM_JOB_NAME, just like you
did.
- The current job's process will get this new environment
variable. You can
refer to this new name (in code/child processes after the
change) using
$SLURM_JOB_NAME.
- Doesn't update the Slurm controller job name.
Best regards,
Jessica Nettelblad, UPPMAX
On Thu, Mar 22, 2018 at 10:16 PM, Andreas Hilboll <
hilboll+sl...@uni-bremen.de> wrote:
Hi,
I'd like to be able to set the SLURM_JOB_NAME from within the
script I'm
submitting to `sbatch`. So, e.g., with the script
`myscript.sh`,
#!/bin/bash
export SLURM_JOB_NAME='myname'
sleep 120
and then `sbatch myscript.sh`, I'd like the job's name to be
'myname'.
Is this somehow possible? When I tried the above approach, it
didn't work
(squeue reported the job's name to be 'myscript.sh').
Thanks for your help,
Andreas