Saya memiliki server Windows 2008R2 yang menjalankan NSClient ++. Untuk beberapa alasan, layanan ini telah memutar celana dalam dan berhenti merespons jajak pendapat Nagios.
Ketika saya mencoba me-restart layanan manajer layanan membutuhkan waktu lama untuk mencoba dan mematikan layanan kemudian akhirnya menyerah dengan pesan di sepanjang baris "layanan butuh waktu terlalu lama untuk merespon". Tapi ... itu juga memulai contoh baru dari layanan.
Jika saya mencari di Task Manager atau tasklist
sekarang saya dapat melihat dua contoh nsclient++.exe
menjalankan.
Saya mencoba untuk membunuh keduanya menggunakan:
klik kanan dan "Akhiri Proses" di task manager - berpura-pura untuk membunuh proses dan melaporkan tidak ada kesalahan (misalnya Access Ditolak) tetapi prosesnya masih ada.
taskkill /PID <proc id> /F
- melaporkanSUCCESS: The process with PID 6672 has been terminated.
tetapi prosesnya masih berjalan.mengunduh SysInternals PsTools dan menjalankan
pskill <PID>
- laporanProcess <PID> killed
- namun prosesnya masih ada.mengeksekusi
at hh:mm pskill <PID>
untukpskill
melakukan ini sebagaiSYSTEM
akun ... dan Anda menduga prosesnya masih berjalan.
Semua hal di atas dijalankan dalam prompt perintah Administrator.
Selain reboot yang tidak terlalu ideal (kotak ini adalah server produksi yang cukup kritis), apa lagi yang bisa saya coba?
Server tidak berada di bawah tekanan sumber daya apa pun (memori, CPU, disk, dll) dan semua yang berjalan di dalamnya baik-baik saja.
Seperti yang terlihat cepat pada tab utas di SysInternals Process Explorer menunjukkan bahwa semua nsclient++.exe
instance ini macet bongkar:
Selain itu, saya juga mencoba membunuh semua koneksi TCP untuk proses zombie (?) Ini (dengan TCPView) dengan harapan saya bisa memulai instance baru dan bisa mengambil port 5666. Kemudian kita bisa reboot server ketika segalanya lebih tenang, tetapi sayangnya itu tidak berhasil.
Stack
, seperti apa tumpukan itu untuk utas yang macet?