[slurm-users] set SLURM_JOB_NAME programmatically from within job script

Andreas Hilboll hilboll+slurm at uni-bremen.de
Fri Mar 23 16:29:00 MDT 2018


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.nettelblad at 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+slurm at 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
>>
>>



More information about the slurm-users mailing list