I’m sending a job with these directives:
#!/bin/bash
#PBS -N job_WASP
#PBS -l walltime=440:00:00
#PBS -l select=1:ncpus=4:mem=6gb
#PBS -q cgsd
#PBS -k oed
I remember that openpbs used to print the jobid
of this particular job in the first line of the stdout which in this case is a file named job_WASP.oxxx
with xxx
being the job id number. So essentially in this file the first line would be xxx.server
. I’m no longer getting the jobid as ouput in this file. What could be wrong here ? thanks.
Could you please submit this job and check whether it creates stdout and stderr.
qsub -q cgsd -- /bin/hostname
- please run the above command form the home directory of the user.
If you are not able to see the stdout and stderr, then there should be issue with passwordless ssh/scp issues from compute node to server. Hence, please check the compute node on which this job ran at this locaiton /var/spool/pbs/undelivered
yes it does. it prints to stdout
the jobid
and it also writes STDIN.exxx
and STDIN.oxxx
files with STDIN.oxxx
file having the node in the first line.
So what is the catch here ? Do I need to use --
to have the jobid
printed ?
Please try this
#!/bin/bash
#PBS -N job_WASP
#PBS -l walltime=440:00:00
#PBS -l select=1:ncpus=4:mem=6gb
#PBS -q cgsd
This should automatically create .o and .e files by default
You have to check the respective compute node’s mom log files to find out what is causing the issue with #PBS -k oed
I understand about .o and .e files , my initial question is how to access the jobid
once such job is sent
PBS does not normally print the jobid at the beginning of the job’s stdout. Perhaps your shell startup scripts (e.g., $HOME/.profile) used to do this?
Instead, your script can print the jobid itself. Just put
echo $PBS_JOBID
after your #PBS directives.
1 Like