gpt4 book ai didi

linux - 当进程在计算机集群上运行时如何访问标准输出?

转载 作者:太空狗 更新时间:2023-10-29 12:00:25 30 4
gpt4 key购买 nike

简介

我使用一个计算机集群,通过 .pbs 文件在其上提交 (qsub) 作业。默认是在执行 qsub 命令的工作目录中的文件上打印标准输出和标准错误。

问题

我的问题是标准输出和标准错误文件只出现在流程结束时,而我希望能够直接监控流程的进展。

想法

我知道存在以下选项

#PBS -o
#PBS -e
#PBS -j [oe/eo]

为了指示标准输出和标准错误的特定文件名和位置。但是,有两点我不清楚...

  1. 我不太清楚它在使用数组时是如何工作的(通过 #PBS -t)。来自一个 PBS_ARRAYID 的标准输出是否会覆盖以前的标准输出?整个数组的所有标准输出是否都打印在同一个文件中,或者是否有办法在文件名中包含 PBS_ARRAYID

  2. 使用这些选项是否会以任何方式帮助我在流程结束之前访问标准输出?

问题

在计算机集群上提交进程时,如何在进程结束前可视化标准输出和标准错误?

最佳答案

根据 this documentation ,数组作业中的每个任务都设置了环境变量 PBS_ARRAYID,因此您可以将其包含在您的设置中:

#PBS -o /path/for/$PBS_JOBNAME.$PBS_ARRAYID

我不确定为什么您的引擎会在作业完成之前扣留输出文件。 (我的网格引擎不这样做。)也许它将它们写入临时位置或临时名称下,然后在工作完成后移动它们?

关于linux - 当进程在计算机集群上运行时如何访问标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39172090/

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