LSF作业提交-标准件和;stderr重定向

LSF作业提交-标准件和;stderr重定向,lsf,Lsf,我已通过以下命令提交作业: bsub -e error.log -o output.log ./myScript.sh 我有一个问题:为什么输出和错误日志只有在作业结束后才可用 谢谢LSF不会将输出传输回提交主机。如果提交主机和执行主机有一个共享文件系统,并且JOB_SPOOL_DIR在该共享文件系统中(SPOOL目录默认为$HOME/.lsbatch),那么您应该在那里看到stdout和stderr。作业完成后,将那里的文件复制回bsub指定的位置 检查bparams-a | grep JO

我已通过以下命令提交作业:

bsub -e error.log -o output.log ./myScript.sh
我有一个问题:为什么输出和错误日志只有在作业结束后才可用


谢谢

LSF不会将输出传输回提交主机。如果提交主机和执行主机有一个共享文件系统,并且JOB_SPOOL_DIR在该共享文件系统中(SPOOL目录默认为$HOME/.lsbatch),那么您应该在那里看到stdout和stderr。作业完成后,将那里的文件复制回bsub指定的位置

检查
bparams-a | grep JOB_SPOOL_DIR
,查看管理员是否更改了SPOOL DIR的位置。无论是否使用-o/-e选项,当作业运行时,其stdout/err将被捕获到作业的spool目录中。作业完成后,stdout/stderr被复制到bsub-o/-e指定的文件名中。spool dir中文件的位置是
$JOB\u spool\u dir/.out
$JOB\u spool\u dir/.err

[user1@beta ~]$ cat log.sh 
LINE=1
while :
do
  echo "line $LINE"
  LINE=$((LINE+1))
  sleep 1
done

[user1@beta ~]$ bsub -o output.log -e error.log ./log.sh
Job <930> is submitted to default queue <normal>.
[user1@beta ~]$ tail -f .lsbatch/*.930.out
line 1
line 2
line 3
...
[user1@beta~]$cat log.sh
直线=1
而:
做
回显“行$line”
行=$((行+1))
睡眠1
完成
[user1@beta~]$bsub-o output.log-e error.log./log.sh
作业已提交到默认队列。
[user1@beta~]$tail-f.lsbatch/*.930.out
第1行
第2行
第3行
...
根据行为可配置:

如果未设置LSB_STDOUT_DIRECT并且使用bsub-o选项,则作业的标准输出将写入临时文件,并在作业完成后复制到指定的文件


提交主机和执行主机有一个共享文件系统,但我在$HOME/.lsbach.Hi@Fab中没有stderr和stdout。我在回答中补充了一些信息。