Bazen, bilgisayarınızda oturum açmış olsanız da olmasanız da çalışmaya devam etmek için bir uygulamaya veya komut dosyasına ihtiyaç duyarsınız. Belki bir Bağlantı noktalarını izlemek için PowerShell betiği veya ev ağınızda bir sayfayı barındıran web sunucusu dir.
Buradaki nokta, bir işlemin, komut dosyasının veya programın bilgisayar açık olduğu sürece çalışmasını istiyorsanız, bir Windows Hizmeti oluşturmanız gerekecek.
Bir Windows Hizmeti Oluşturmak İçin Neye İhtiyacım Var?
Windows 10'da bir Windows hizmeti oluşturmak için birkaç ön koşul vardır:
Emici Olmayan Hizmet Yöneticisi Nedir?
Evet, böyle bir adı açıklamadan bırakamazsınız. Elbette isim talihsiz, ama yine de doğru. Emici Olmayan Hizmet Yöneticisi (NSSM), hem son derece güvenilir hem de yapılandırılabilir bir Windows hizmeti oluşturmanın tartışmasız en kolay yoludur. Artı, ücretsizdir ve Açık Kaynak Yazılım (OSS).
NSSM, Windows Komut İstemi veya bir grafik kullanıcı arayüzü (GUI ). Bu, herkesin kullanabileceği anlamına gelir. NSSM, Windows 2000 ve dahil olmak üzere herhangi bir Windows sürümünde kullanılabilir. 32 bit ve 64 bit sürümü vardır. 64 bit bilgisayar kullanıyorsanız, önce bu sürümü deneyin. Çalışmazsa, 32 bit sürüme geri dönün.
NSSM'yi web sitesinden indirin, NSSM'yi Git'ten klonlayın veya Chocolatey ile NSSM'yi kurun yapabilirsiniz. Chocolatey, Windows için bir paket yöneticisidir. Kurulum yöntemleri, hangi rotayı izlediğinize bağlı olarak değişecektir. Lütfen NSSM'nin talimatlarına bakın. Örneğimiz için, NSSM web sitesinden indiriyoruz ve C: \ WINDOWS \ system32'ye kuruyoruz.
In_content_1 all: [300x250] / dfp: [640x360]->NSSM ile bir Windows Hizmeti Oluşturun
Bu örnek için, günlüğe girmek için PowerShell betiği üzerinden bir hizmet oluşturacağız CPU ortalama yük yüzdesi.
Not: Aşağıdaki tüm satırlar ve ardından # simgesi yorum niteliğindedir ve komut dosyasını etkilemez.
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
Özelleştirmek için kullanılabilecek başka birkaç sekme daha vardır. hizmet. Bu alıştırma için, bu sekmelerdeki varsayılan değerler yeterlidir. Hizmeti yükledüğmesini seçin.
Bir Windows Hizmetini Kaldırma NSSM ile
Belki artık CPU'nuzu izleyin yüklemeniz gerekmiyor, bu nedenle hizmetten kurtulmak istiyorsunuz. Neyse ki NSSM bunu kolaylaştırıyor.
Hepsi bu. Hizmetin artık orada olmadığından emin olmak için hizmet yöneticisine danışmak iyi bir fikirdir. Hizmeti hâlâ görüyorsanız, ekranı yenilemeniz gerekebilir ve kaybolmalıdır.
Hizmetler, her zaman çalışması gereken uygulamaları veya komut dosyalarını çalıştırmanın harika bir yoludur, başarısız olursa kendilerini yeniden başlatın veya mevcut kullanıcıdan farklı ayrıcalıklara ihtiyaç duyuyor. Tüm bunları yapmak için uygulamanıza veya komut dosyanıza ihtiyacınız yoksa bunun yerine Zamanlanmış Görev kullanma 'ü düşünün.