2016-09-23 62 views
2

我已经启动了一个使用C#的PowerShell脚本异步。在某些时候,我想验证脚本是否仍在使用C#运行。请建议如何验证脚本是否正在运行我尝试使用Process.GetProcessesByName("scriptname")似乎不起作用。如何验证PowerShell脚本正在运行使用C#

+0

我不知道这是否是可能的,但它听起来像一个坏主意 - 你为什么需要呢? –

+0

@Martin让我说我有一个api来启动一个脚本,并可能是脚本需要这么长时间来执行,所以在平均时间,如果我想检查脚本的状态(如跑步,停止)。 –

回答

0

您可能正在使用的Pipeline.InvokeAsync方法:

它被称为后,它改变了管道的状态运行。 该方法完成后,它将管道状态更改为以下的一个 :完成:如果 管道调用成功完成,则管道状态为“已完成”。失败:如果管道调用失败或管道中的其中一个命令发生终止错误,则管道状态 失败。已停止:管道状态为 如果通过调用Stop或StopAsync停止管道,则停止。

Source.

+0

非常感谢。 –

+0

不客气:-) –