Amazon EC2 Systems Manager
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Run Command 状态

Run Command 报告以下三个区域的状态详情:插件、调用和总体命令状态。插件是在您命令的 Systems Manager 文档中定义的代码执行块。AWS-* 文档仅包含一个插件,但是您可以自行创建使用多个插件的文档。有关插件的更多信息,请参阅 Amazon EC2 Systems Manager API Reference 中的 Systems Manager 插件

在将一条命令同时发送给多个实例时,针对每个实例的命令的每个副本均为一个命令调用。例如,如果您使用 AWS-RunShellScript 文档并将一个 ifconfig 命令发送到 20 个实例,则该命令具有 20 个调用。每个命令调用都会单独报告状态。给定命令调用的插件也会单独报告状态。

最后,Run Command 包含适用于所有插件和调用的聚合命令状态。聚合命令状态可能不同于插件或调用报告的状态,如下表所述。

注意

如果您使用 max-concurrencymax-errors 参数对大量实例执行命令,则命令状态会反映这些参数施加的限制,如下表所述。有关这些参数的更多信息,请参阅 将命令发送到队列

命令插件和调用的详细状态

状态 详细信息
Pending 实例上的代理尚未收到命令。如果代理在达到超时 (秒) 参数指定的值之前还未收到命令,则状态会变为 Delivery Timed Out
正在进行 代理已收到命令,或者命名已开始在实例上执行。根据所有命令插件的结果,状态会变为 SuccessFailedExecution Timed Out。如果代理在实例上不可用,则命令状态会显示 In Progress,直至代理再次可用。状态将变为最终状态。
延迟 系统尝试向实例发送命令,但未成功。系统将重试。
成功 命令由实例上的 SSM 代理接收,并返回一个为零的退出代码。此状态并不意味着命令在实例上处理成功。这是最终状态。

注意

要解决错误或获取有关命令执行的更多信息,请通过返回适当的退出代码 (针对命令失败的非零退出代码) 来发送一个处理错误或异常的命令。

传输超时 命令未在传输超时过期之前传输到实例。传输超时不计入父命令的 max-errors 限制,但是有助于区别父命令的状态是 Success 还是 Incomplete。这是最终状态。
执行超时 命令执行在实例上开始,但未在执行超时过期之前完成。执行超时不计入父命令的 max-errors 限制。这是最终状态。
已失败

实例上的命令失败了。对于插件,这表示结果代码不为零。对于命令调用,这表示一个或多个插件的结果代码不为零。调用失败不计入父命令的 max-errors 限制。这是最终状态。

已取消 命令在完成之前终止。这是最终状态。
无法传输 命令无法传输到实例。实例可能不存在或可能未响应。无法传输的调用不计入父命令的 max-errors 限制,而且无法用于区别父命令的状态是 Success 还是 Incomplete。这是最终状态。
已终止 父命令超过其 max-errors 限制且系统取消了后续命令调用。这是最终状态。

命令的详细状态

状态 详细信息
Pending 任何实例上的代理都尚未收到命令。
正在进行 命令已发送到至少一个实例,但是在所有实例上都未达到最终状态。
延迟 系统尝试向实例发送命令,但未成功。系统将重试。
成功 命令由所有指定或目标实例上的 SSM 代理接收,并返回一个为零的退出代码。所有命令调用都已达到最终状态,且未超过值 max-errors。此状态并不意味着命令在所有指定或目标实例上处理成功。这是最终状态。

注意

要解决错误或获取有关命令执行的更多信息,请通过返回适当的退出代码 (针对命令失败的非零退出代码) 来发送一个处理错误或异常的命令。

传输超时 命令未在传输超时过期之前传输到实例。max-errors 值或更多命令调用显示 Delivery Timed Out 状态。这是最终状态。
执行超时 命令执行在实例上开始,但未在执行超时过期之前完成。max-errors 值或更多命令调用显示 Execution Timed Out 状态。这是最终状态。
已失败

实例上的命令失败了。max-errors 值或更多命令调用显示 Failed 状态。这是最终状态。

未完成 命令尝试在所有实例上执行,且一个或多个调用没有 Success 值。不过,调用失败的次数不足以使状态变为 Failed。这是最终状态。
已取消 命令在完成之前终止。这是最终状态。
数量超出限制 命令定位的实例数量超出了待处理调用的账户限制。系统在实例上执行命令之前取消了命令。这是最终状态。