Mam następujący AppPoolActivation.ps1
plik, aby wywołać adres URL: -
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$request = [System.Net.WebRequest]::Create("https://IPADDRESS***/")
$response = $request.GetResponse()
$response.Close()
i napisałem następujący app.bat
plik, aby wywołać powyższy AppPoolActivation.ps1
plik: -
"%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe" -Command Start-Process "$PSHOME\powershell.exe" -Verb RunAs -ArgumentList "'-NoExit %~dp0\AppPoolActivation.ps1'
Następnie w moim harmonogramie zadań Windows Server 2012 w systemie Windows definiuję codzienne zadanie, które będzie uruchamiane co 15 minut przez 1 dzień, więc przede wszystkim będzie zawsze uruchamiane co 15 minut i definiuję to zadanie, aby wywoływało plik .bat, ponieważ śledzić:-
teraz, kiedy po raz pierwszy zdefiniowałem zadanie, działało dobrze przez około 5 godzin, ale zauważyłem, że po 10-12 godzinach serwer będzie bardzo wolny, aż przestanie odpowiadać, teraz sprawdzam menedżera zadań na serwerze i stwierdzam, że tam jest będzie wiele wystąpień uruchomionego hosta Windows Power Shell i konsoli Windows, w następujący sposób:
więc czy ktoś może doradzić, jak mogę rozwiązać ten problem? Mam na myśli, dlaczego będzie wiele wystąpień Windows Power Shell i hosta Windows konsoli? i czy istnieje sposób, aby temu zapobiec i zapobiec spowolnieniu mojego serwera z powodu harmonogramu zadań? pamiętając, że przez wiele lat temu nie miałem żadnego problemu na tym serwerze ,, problem zaczął się, gdy tworzę to zadanie harmonogramu ...
źródło
"seems -NoExit will not end the process once the powershell script ends"
- tak, zobacz Pomoc wiersza polecenia PowerShell.exe .