Bugzilla – Bug 11
qsub -k option works in reverse of documented behavior
Last modified: 2009-10-15 22:00:46 MDT
You need to log in before you can comment on or make changes to this bug.
One of our user support folks reported the following: ----- Based on the 'qsub' manpage, I am led to believe that: "#PBS -k e" should keep stderr, discard stdout "#PBS -k o" should keep stdout, discard stderr I find that the opposite is true: I must use '-k o' to get error messages. Is this a known issue with PBS? I haven't noticed anyone using it, but for debugging purposes, I think this could be a good alternative to for those that use "#PBS -j n". -------------- example ---------------------- ksharkey@krakenpf5(XT5):~/scratch> cat test.pbs #!/bin/bash #PBS -l walltime=00:00:01,size=8 #PBS -N qsubOptions #PBS -k o #PBS -A UT-SUPPORT echo hi sleep 100 ksharkey@krakenpf5(XT5):~/scratch> qsub test.pbs 174148.nid00016 ksharkey@krakenpf5(XT5):~/scratch> cat qsubOptions.e174148 =>> PBS: job killed: walltime 20 exceeded limit 1 ksharkey@krakenpf5(XT5):~/scratch> cat qsubOptions.o174148 cat: qsubOptions.o174148: No such file or directory ----- I've been able to reproduce this on TORQUE 2.1.11, 2.3.5, and 2.4.1b1.
in your example, the file should be in the user ksharkey's home directory, but you are running cat in ~/scratch. What #PBS -k o tells torque to do is to copy the stdout file into the user's home directory on the execution host rather than copying it to the submit directory back on the submit host (that is, k -o means "_keep_ the stdout file on the execution host, do not copy back to the submit host"). With NFS mounted home directories #PBS -k o would have no effect if one were to submit a job directly from their home directory and use the default name for the stdout file. Since you did not specify a -k option for the stderr file, it was staged back to the submit directory as usual. This is my interpretation of the man page anyway
Yes, this is how it should work. -k means keep on the exec host, it does not discard the files, just doesn't transmit them back to you. Should be closed as INVALID.