gpt4 book ai didi

bash - 如何在qsub中指定错误日志文件和输出文件

转载 作者:行者123 更新时间:2023-11-29 08:43:33 26 4
gpt4 key购买 nike

我有一个 qsub 脚本作为

#####----submit_job.sh---#####
#!/bin/sh
#$ -N job1
#$ -t 1-100
#$ -cwd
SEEDFILE=/home/user1/data1
SEED=$(sed -n -e "$SGE_TASK_ID p" $SEEDFILE)
/home/user1/run.sh $SEED

问题是——它将所有错误和输出文件(job1.eJOBID 和 job1.oJOBID)放到我运行 qsub submit_job.sh 的同一目录,而我想保存这些文件(输出和错误日志文件)在相同的不同位置(指定为 $SEED_output)。我试图将行更改为

/home/user1/run.sh $SEED -o $SEED_output

但是没有用。有什么建议吗??如何指定默认输出和错误日志文件的路径和名称??

最佳答案

通常错误和输出文件在 qsub 脚本中作为 pbs 指令或作为 qsub 脚本的命令行选项给出,如下所示:

#! /bin/bash
#PBS -q queue_name
#PBS -A account_name
#PBS -l nodes=12:ppn=12
#PBS -l walltime=18:00:00
#PBS -e /mypath/error.txt
#PBS -o /mypath/output.txt

或者像这样作为 qsub 的命令行选项:

qsub -o /mypath/output.txt -e /mypath/error.txt submit_job.sh

对于第一个选项,我认为您不能使用变量,因为 shell 不会查看注释的行。另外,我认为 PBS 在 shell 之前处理注释行。如果您在调用 qsub 时知道路径,则可以尝试第二个选项。或者,您可以尝试简单地重定向脚本本身的输出和错误:

/home/user1/run.sh $SEED > ${SEED}/output.txt 2> ${SEED}/error.txt

第三个选项可能是最简单的。输出和错误文件可能仍会在运行目录中创建,尽管它们可能是空的。

关于bash - 如何在qsub中指定错误日志文件和输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9096959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com