我可以在使用 qsub 提交 shell 脚本后删除它而不影响作业吗?

发布于 2025-01-03 19:28:24 字数 193 浏览 1 评论 0原文

我想使用 qsub 提交一堆作业 - 这些作业都非常相似。我有一个带有循环的脚本,在每个实例中它都会重写文件 tmpjob.sh ,然后执行 qsub tmpjob.sh 。在作业有机会运行之前,tmpjob.sh 可能已被循环的下一个实例覆盖。当作业等待运行时,是否存储了 tmpjob.sh 的另一个副本?或者我是否需要小心不要在作业开始之前更改 tmpjob.sh?

I want to submit a a bunch of jobs using qsub - the jobs are all very similar. I have a script that has a loop, and in each instance it rewrites over a file tmpjob.sh and then does qsub tmpjob.sh . Before the job has had a chance to run, the tmpjob.sh may have been overwritten by the next instance of the loop. Is another copy of tmpjob.sh stored while the job is waiting to run? Or do I need to be careful not to change tmpjob.sh before the job has begun?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深居我梦 2025-01-10 19:28:25

是的。您甚至可以使用 HERE Documents 创建作业和子作业。下面是我使用 cron 作业启动的脚本进行的测试示例:

#!/bin/env bash
printenv
qsub  -N testCron  -l nodes=1:vortex:compute -l walltime=1:00:00 <<QSUB
cd \$PBS_O_WORKDIR

printenv

qsub  -N testsubCron  -l nodes=1:vortex:compute -l walltime=1:00:00 <<QSUBNEST
cd \$PBS_O_WORKDIR
pwd
date -Isec

QSUBNEST


QSUB

Yes. You can even create jobs and sub-jobs with HERE Documents. Below is an example of a test I was doing with a script initiated by a cron job:

#!/bin/env bash
printenv
qsub  -N testCron  -l nodes=1:vortex:compute -l walltime=1:00:00 <<QSUB
cd \$PBS_O_WORKDIR

printenv

qsub  -N testsubCron  -l nodes=1:vortex:compute -l walltime=1:00:00 <<QSUBNEST
cd \$PBS_O_WORKDIR
pwd
date -Isec

QSUBNEST


QSUB
帅冕 2025-01-10 19:28:24

假设您正在谈论扭矩,那么是的;扭矩在提交时读取脚本。事实上,提交脚本根本不需要作为文件存在;正如扭矩文档中给出的示例,您可以通过管道将命令传递给 qsub (来自文档:cat pbs.cmd | qsub。)

但是其他几个批处理系统(SGE/OGE、PBS PRO)使用 qsub 作为队列提交命令,因此您必须告诉我们确定您使用的是什么排队系统。

Assuming you're talking about torque, then yes; torque reads in the script at submission time. In fact the submission script need never exist as a file at all; as given as an example in the documentation for torque, you can pipe in commands to qsub (from the docs: cat pbs.cmd | qsub.)

But several other batch systems (SGE/OGE, PBS PRO) use qsub as a queue submission command, so you'll have to tell us what queuing system you're using to be sure.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文