pbs/Torque 交互式作业:启动后运行命令的 bash 技巧

pbs/Torque 交互式作业:启动后运行命令的 bash 技巧

我在 bash 中使用 pbs 交互式作业,使用 启动qsub -I,我想在启动后运行一些命令。运行此命令后,我想继续照常使用交互式预留。

我不确定如何实现这一点,因为与打开交互式 ssh 提示符一样,远程终端完成后发出的命令,即qsub -I; hello

编辑:为了澄清起见,在上面的例子(qsub -I; hello)中,我想运行hello 里面qsub 预订,而不是我进行预订的机器上。

我知道我可以为 qsub 指定一个作业脚本,但是从手册页我认为它没有达到我想要的效果:

...该作业是交互式作业。脚本将被处理以获取指令,但不会包含在作业中。

答案1

试试这个:运行 qsub -I 按 CTRL-Z 使进程进入睡眠状态运行 hello 当 hello 完成后,你可以使用 fg 返回 qsub

你可以做同样的事情

qsub -I &; echo "hello world"; fg

如果我理解你的解释,你可能想在子 shell 中运行它,即

子 shell 可用于为命令组设置“专用环境”。

COMMAND1
COMMAND2
COMMAND3
(
  IFS=:
  PATH=/bin
  unset TERMINFO
  set -C
  shift 5
  COMMAND4
  COMMAND5
  exit 3 # Only exits the subshell!
)
# The parent shell has not been affected, and the environment is preserved.
COMMAND6
COMMAND7

取自:http://tldp.org/LDP/abs/html/subshel​​ls.html

相关内容