我正在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上收到此错误消息&和命令的结束?
由于
答案 0 :(得分:0)
我假设您正在通过在tcl。
中使用exec
来执行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。
答案 1 :(得分:0)
你是说术语ICC的 Synopsys ICCompiler 吗?
如果 queue 有任何关于启动任何EDA工具的工作的错误,请选择以下方式启动。
{launch command for job (qsub *switches* ) } > & log &
这将消除故障排除的困难。
很抱歉发布此问题作为答案,但我无法发表评论