连续检查进程是否正在运行

问题描述 投票:0回答:1

我编写了一些代码,用于检查Outlook是否正在运行,如果没有运行,则打开Outlook。问题是我的工作PC倾向于闲置大约7%的使用率,但是在脚本运行时会飙升至最高30s。如果它检测到Outlook不再处于活动状态,则在打开Outlook时,CPU使用率可能会飙升至近100%。在脚本运行时,此〜33%的增加可能会在我工作时引起问题。 是否有另一种方法可以使用更少的处理能力来完成代码的功能?

do{
    $running = Get-Process outlook -ErrorAction SilentlyContinue
    if (!$running)
    {
        Start-Process outlook
    }
} while (1 -eq 1)
performance powershell powershell-4.0 powershell-5.0 processing-efficiency
1个回答
0
投票

您需要在其中添加Start-Sleep,以防止脚本连续使用CPU时间。否则,它会不断循环播放,并且没有休息,请确保Outlook正在运行。在Start-Sleep的末尾:

do-block

您可以使用所需的Start-Sleep -s 60 参数来调整秒数,甚至指定毫秒。

© www.soinside.com 2019 - 2024. All rights reserved.