python - 在没有实际作业文件的情况下提交 qsub 作业的语法?

标签 python sungridengine qsub pbs

我想在不创建离散作业文件的情况下即时提交 qsub 作业。所以,假设我有一个名为“get_time.py”的 python 脚本,它只报告时间。而不是像这样制作提交脚本:

cat>job.sub<<eof
    #PBS -l walltime=1:00:00
    cd $PBS_O_WORKDIR
    get_time.py
eof

...然后提交作业:qsub job.sub

我希望能够绕过文件创建步骤,并且我认为构造应该是这样的: qsub -d。 -e get_time.py

其中 -e 是我虚构的参数,它告诉 qsub 以下是要发送到调度程序的代码,而不是使用离散的提交文件。

我疯了吗?似乎应该已经有一个简单的解决方案,但我在任何地方都找不到。感谢您的任何建议!

最佳答案

如果您可以在 HERE 文档中编写您的工作,如您的示例所示,您可以将该 HERE 文档直接传递给 qsub 而无需临时文件:

qsub <<eof
    #PBS -l walltime=1:00:00
    cd \$PBS_O_WORKDIR
    get_time.py
eof

另请注意,您需要在 $PBS_O_WORKDIR 中对美元符号进行转义,否则它将在提交作业之前被插入并最终成为空字符串。

关于python - 在没有实际作业文件的情况下提交 qsub 作业的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20127722/

相关文章:

python - cifar100,仅加载 100 张图像

python - SGE 脚本 : print to file during execution (not just at the end)?

variables - 未找到 SGE 命令, undefined variable

ubuntu - 如何使用 qdel all 只删除空闲作业

python - 在 Linux 服务器中使用 qsub 时如何导入 argparse?

python - 如何使用python在机器人框架中导入和使用用户定义的枚举类

Python运行命令行

exit-code - 从 Sun Grid Engine 上使用 qsub 提交的进程获取退出代码

python - 找不到与平台无关的库 <prefix>

sungridengine - 更改正在运行的 SGE 实例中的可用槽数