1

我正在 ICC 上的 tcl 编写脚本,并在发送运行到 sung-grid 时尝试获取错误消息。

例如,我有以下行。

sh /usr/bin/xterm -e "cd DM ; mqsub -int -parallel 200 cal -cal -t 200 CAL_header | tee S.log ; touch .S_finished" &

因为我没有 200 个可用的 cpu,如果我在 linux shell 上执行此命令行,我将收到以下消息:“无法安排您的“qrsh”请求,稍后再试。”

如何使用 & 和命令结尾在 ICC 捕获此错误消息?

谢谢

4

2 回答 2

0

您是指术语 ICC 的Synopsys ICCompiler吗?

如果任何 EDA 工具的启动作业队列有任何错误,请使用以下启动方式。

{launch command for job (qsub *switches* ) } > & log &

这将消除故障排除的困难。很抱歉将这个问题作为答案发布,但我无法发表评论

于 2014-12-04T12:45:00.717 回答
0

我假设,您正在通过exec在 tcl 中使用来执行 shell 命令。

在这种情况下,您可以使用catch语句来识别错误消息。

if { [catch {exec <your_shell_program_command_here>} result] } {
    puts "Following problem happened : $result"
    exit 1
} 

句法 :

catch script ?varName?

从手册页引用以下内容

如果脚本引发错误,catch 将返回一个非零整数值,该值对应于脚本评估返回的异常返回码。Tcl 将脚本评估的正常返回码定义为零 (0) 或 TCL_OK。Tcl 还定义了四个异常返回码:1 (TCL_ERROR)、2 (TCL_RETURN)、3 (TCL_BREAK) 和 4 (TCL_CONTINUE)。脚本评估期间的错误由返回码 TCL_ERROR 指示。

于 2014-12-04T11:59:01.660 回答