如果进程打开超过 3 小时,则终止该进程

如果进程打开超过 3 小时,则终止该进程

我想检查所有流程如果他们打开超过 3 个小时,就会关闭它们,以限制特定应用程序(chrome)的屏幕时间,我该怎么做

答案1

我建议使用 PowerShell 来完成此类任务。例如,首先,您可以:

foreach ($p in $(Get-Process -Name Notepad -ErrorAction SilentlyContinue))   
{
    write-host "Found PID:" $p.Id "Process:"$p.Name

    if ( $(NEW-TIMESPAN -start $p.starttime -End $(Get-Date)).TotalSeconds -ge 10800)
    {
        Stop-Process -Force -id $p.Id
    }
    else 
    {
        Write-host "$($p.Id) has not been running long enough to kill." 
    }
}

对于使用 Get-Process 找到的每个名为 Notepad 的进程,它会打印 PID 和名称。然后使用找到的进程的 starttime 属性,使用 PID 强制调用 stop-process。如果进程运行的总秒数大于或等于指定的 3 小时(以秒为单位)。

例如,您可以从任务计划程序每 5 分钟运行一次此脚本。我认为 3 小时不需要精确。

相关内容