Saya memiliki layanan Windows yang keluar secara tak terduga setiap beberapa hari. Apakah ada cara sederhana untuk memantaunya untuk memastikan restart dengan cepat jika crash?
windows
windows-service
Liam
sumber
sumber
SC failure w3svc command= "MyBatchFile.cmd"
itu harus di jalur atau C: \ Windows \ System32. Anda dapat meletakkannya di direktori mana pun jika Anda menggunakan path lengkap yaituSC failure w3svc command= "c:\Stuff\MyBatchFile.cmd"
Buka Services.msc, klik dua kali pada layanan untuk membuka Properti layanan, ada tab Pemulihan dan pengaturan tersebut harus memungkinkan Anda untuk memulai kembali layanan setelah kegagalan.
sumber
Cobalah untuk mengatur waktu pemulihan ke nol:
Setara baris perintah:
SC failure YOUR_SERVICE_NAME reset= 0 actions= restart/0/restart/0/restart/0
Bagaimanapun, kadang-kadang pemulihan otomatis tidak berfungsi dengan benar dan disarankan untuk menggunakan perangkat lunak pihak ketiga. Tampaknya ketika layanan keluar dengan anggun dengan kode keluar 0 windows tidak mencoba memulihkannya.
sumber
Saya menggunakan ServiceKeeper di server windows 2008 saya di HostForLife.eu dan bekerja sangat baik. Sebelumnya, saya pernah mengulas tentang ServiceHawk, tetapi saya lebih suka menggunakan ServiceKeeper untuk manajemen dan antarmuka yang lebih mudah.
sumber
Saya memiliki persyaratan yang sama untuk memulai layanan jika berhenti. Solusi paling sederhana yang saya pikir adalah menjalankan perintah di bawah ini di windows task scheduler setiap 5 menit:
mulai bersih MyServiceName
Perintah ini pada dasarnya akan memulai layanan (jika dihentikan) dan tidak berpengaruh jika layanan sudah berjalan.
sumber
Saya baru-baru ini menerapkan opsi pemulihan untuk menjalankan skrip PowerShell yang mencoba untuk me-restart layanan beberapa kali dan mengirimkan pemberitahuan email pada kesimpulan, juga.
Setelah beberapa upaya (dan terlepas dari semua hal lain yang saya lihat) Konfigurasi bidang pada tab pemulihan dalam layanan adalah sebagai berikut:
Program: Powershell.exe
** Tidak C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Powershell.exe
Parameter baris perintah: -command "& {SomePath \ YourScript.ps1 '$ args [0]' '$ args [1]' '$ args [n]'}"
mis .: -command "& {C: \ PowershellScripts \ ServicesRecovery.ps1 'Nama Layanan'}"
** $ args adalah parameter yang akan diteruskan ke skrip Anda. Ini tidak wajib.
di sini adalah skrip powershell:
sumber
Ini jawaban saya di utas serupa. Semoga ini bisa membantu ...
Anda dapat menjadwalkan skrip vbs sederhana seperti ini untuk memulai ulang layanan pada komputer secara berkala jika diperlukan.
sumber
Seseorang mengajukan pertanyaan serupa di Super User: Anda dapat menginstal alat yang memantau layanan windows. Sesuatu seperti Service Hawk akan membantu Anda memulai layanan, atau memungkinkan Anda untuk menjadwalkan restart otomatis (mungkin pada malam hari) untuk menjaga layanan tetap berjalan lancar.
sumber