Néha szükség van egy alkalmazásra vagy szkriptre a futtatáshoz, függetlenül attól, hogy be van-e jelentkezve a számítógépre. Talán PowerShell-parancsfájl a portok figyeléséhez vagy webszerver, amely otthoni hálózaton tárol egy oldalt.
A lényeg az, hogy ha azt akarja, hogy egy folyamat, szkript vagy program addig fusson, amíg a számítógép be van kapcsolva, akkor létre kell hoznia egy Windows szolgáltatás -t.
Mi szükséges a Windows szolgáltatás létrehozásához?
A Windows szolgáltatás Windows 10 rendszerben történő létrehozásához néhány előfeltétel van:
Mi az a nem szívó szolgáltatáskezelő?
Igen, nem dobhat el egy ilyen nevet anélkül, hogy elmagyarázná. Biztos, hogy a név nem szerencsés, mégis pontos. A Non-Sucking Service Manager (NSSM) vitathatatlanul a legegyszerűbb módszer egy rendkívül megbízható és konfigurálható Windows szolgáltatás létrehozására. Ráadásul ingyenes és Nyílt forráskódú szoftver (OSS).
Az NSSM használható a Windows parancssor vagy grafikus felhasználói felületen (GUI) keresztül ). Ez azt jelenti, hogy bárki használhatja. Az NSSM a Windows bármely olyan verziójára használható, amely visszamegy a Windows 2000-be, beleértve a Windows 2000-t is. Ha 64 bites számítógépet használ, akkor először próbálja ki ezt a verziót. Ha nem működik, térjen vissza a 32 bites verzióra.
Lehet töltse le az NSSM-et a weboldalról, klónozza az NSSM-et a Git-től vagy telepítse az NSSM-et a Chocolatey-val. A Chocolatey a Windows csomagkezelője. A telepítési módszerek attól függően változnak, hogy melyik utat választja. Kérjük, olvassa el az NSSM utasításait. Például letöltjük az NSSM webhelyéről, és telepítjük a C: \ WINDOWS \ system32fájlba.
In_content_1 all: [300x250] / dfp: [640x360]->Windows szolgáltatás létrehozása az NSSM használatával
Ebben a példában létrehozunk egy szolgáltatást egy PowerShell-parancsfájl ből a naplózáshoz A CPU átlagos terhelési százaléka.
Megjegyzés: Az összes sor, amelyet a # szimbólum követ, megjegyzések és nem befolyásolják a szkriptet.
CLS #Optional. I like to use this to clear the terminal when testing.#Make sure you have a folder called Logs in the same directory as this script #The log is where the records will be stored. Start-Transcript -Path "$PSScriptRoot\Logs\log-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append #While loop keeps it running until manually stopped While ($True){ #Creates a timestamp to know when the measurement was taken $timeStamp = get-date -f yyyy-MM-h:mm:ss #Gets the average load percentage at that time, then waits 5 seconds to do it again. $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5 #Isolates just the average so there isn't a weird @{Average=13} string $cpuLoadPercent = $cpuLoadPercent.Average #writes results to screen, or in this case to the log Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent" } Stop-Transcript
Számos más fül is használható a szolgáltatás. Ehhez a gyakorlathoz elegendőek azok a fülek alapértelmezett értékei. Kattintson a Szolgáltatás telepítésegombra.
ssm-check-log.png
Windows szolgáltatás eltávolítása Az NSSM
Talán már nem kell figyelemmel kíséri a CPU-t töltenie, ezért szeretne megszabadulni a szolgáltatástól. Szerencsére az NSSM ezt megkönnyíti.
Ennyi. Célszerű ellenőrizni a szolgáltatás menedzserét, hogy megbizonyosodjon arról, hogy a szolgáltatás már nincs meg. Ha továbbra is látja a szolgáltatást, előfordulhat, hogy frissítenie kell a képernyőt, és annak el kell tűnnie.
A szolgáltatások nagyszerű módja az olyan alkalmazások vagy szkriptek futtatásának, amelyeknek folyamatosan futtatnia kell, indítsa újra magát, ha nem sikerül , vagy más jogosultságokra van szükségük, mint az aktuális felhasználó. Ha nincs szüksége az alkalmazásra vagy a szkriptre mindezen dolgok elvégzéséhez, fontolja meg inkább a ütemezett feladat segítségével t.