【发布时间】:2017-04-17 20:30:37
【问题描述】:
我有一系列 SAS 程序,我使用从任务计划程序启动的 PowerShell 脚本在后台运行。
我希望每个程序先完成,然后再开始另一个程序。
我已经使用我在这个网站上找到的示例尝试了许多不同的方法,但似乎都没有奏效。我特别找不到的是在后台运行的作业的状态,然后在条件语句中使用该状态来检查在启动第二个程序之前在后台运行的第一个程序是否已完成。
例如,如果我使用:
$job01 = Start-Job -ScriptBlock { & "C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin "D:\EDM\SASPROGRAMS\ABC.sas" -nosplash -log D:\EDM\SASLOGS -work D:\SASWork }
然后
Get-Job
我会看到 $job01 在发出 Get-Job 后立即完成,此时 SAS 程序本身需要大约 10 分钟才能完成。
我可以使用什么 cmdlet 来确定后台运行的 SAS 程序何时完成?
【问题讨论】:
-
感谢您的编辑,亚历克斯。
标签: powershell sas background-process