This commit is contained in:
2026-02-24 14:42:58 +07:00
commit 2c3974d634
14 changed files with 3947 additions and 0 deletions

41
a.ps1 Normal file
View File

@@ -0,0 +1,41 @@
# --- Configuration ---
$ProcessName = "E:\project\unity\CryEngineToolForDev\x64\Release\CryEngineTool.exe" # Replace with your executable
$Arguments = "test.txt" # Replace with your arguments
$WarningTimeoutSec = 20 # 10 minutes
$KillTimeoutSec = 30 # 15 minutes
# Start the process
$proc = Start-Process -FilePath $ProcessName -ArgumentList $Arguments -PassThru
Write-Host "Process started with ID: $($proc.Id). Monitoring..." -ForegroundColor Cyan
# Monitor loop
$StartTime = Get-Date
$WarningSent = $false
while (-not $proc.HasExited) {
$Elapsed = (Get-Date) - $StartTime
# 10 Minute Warning
if ($Elapsed.TotalSeconds -ge $WarningTimeoutSec -and -not $WarningSent) {
Write-Warning "Process has been running for over 10 minutes!"
$WarningSent = $true
}
# 15 Minute Kill
if ($Elapsed.TotalSeconds -ge $KillTimeoutSec) {
Write-Host "Process exceeded 15 minutes. Terminating..." -ForegroundColor Red
Stop-Process -Id $proc.Id -Force
break
}
# Sleep briefly to save CPU cycles
Start-Sleep -Seconds 5
}
# Final Status
if ($proc.HasExited) {
Write-Host "Process exited with code: $($proc.ExitCode)" -ForegroundColor Green
} else {
Write-Host "Process was killed by script." -ForegroundColor Yellow
}