如何以批处理模式提交 SAS 作业?

如何以批处理模式提交 SAS 作业?

我在用SAS,一个用于 Unix(以及其他)的分析软件包。我正在使用 PuTTY 连接到我的 Unix 系统。

我想通过putty提交10个sas程序。我的要求是每个作业应按顺序运行(例如:第二个作业应在第一个作业之后运行,第三个作业应在第二个作业完成后运行),并且如果作业完整运行过程中出现任何错误,则应停止(例如:如果第二个作业出现错误,因此第三个作业不应运行。)

目前我正在提交作业,如下所示,但问题是所有作业都是同时启动的;如上所述,我一次需要一个。

x sasb -sv sas92 code1.sas;
x sasb -sv sas92 code2.sas;
x sasb -sv sas92 code3.sas;

这里的命令x如何从 SAS 中运行 Unix 命令sasb是我以这种方式运行的命令的名称,它似乎同时运行所有作业。

答案1

bash 中的执行(我只是猜测您在远程服务器上使用)是由 来分隔的,;以便在彼此之后启动命令。我的猜测是你的代码启动了一个后台进程。

尝试使用它&&,仅当前一个运行成功时才允许下一次执行。

x sasb -sv sas92 code1.sas &&
x sasb -sv sas92 code2.sas &&
x sasb -sv sas92 code3.sas

相关内容