Cum de a rula aplicația ca un serviciu Windows

Este posibil pentru a rula aplicația client ca un serviciu? Nu orice aplicație consolă poate rula ca un serviciu, și interfața grafică, în principiu, nu poate funcționa în acest fel. Dar posibilitatea de a rula aplicația ca serviciu este încă acolo, și ne va ajuta în acest program cu numele original Managerul non-Suptul Serviciu.

Pentru a demonstra capabilitățile NSSM încercați să executați Windows Notepad ca un serviciu pe Windows 8.1.

Crearea unui serviciu

Pentru a crea un serviciu numit blocnotes rula consola de comandă, du-te la folderul cu NSSM despachetat (pentru Windows 64-bit) și introduceți NSSM comandă de instalare Notepad, care se deschide o fereastră de NSSM de instalare grafic. Pentru a crea serviciul, este suficient în câmpul Cale pentru a specifica calea către fișierul executabil și faceți clic pe „Install serviciu“ buton. În plus, câmpul Opțiuni, puteți specifica cheile necesare pentru a rula serviciul.

Cum de a rula aplicația ca un serviciu Windows

De asemenea, pe scena de a crea un nou serviciu, puteți specifica parametri suplimentari.

Pe „shutdown“ sunt metodele de oprire și de timp-outs utilizate în aplicațiile normale de oprire sau de oprire de urgență. Când NSSM primește o comandă de oprire (de ex. În cazul în care cererea se oprește), el încearcă să oprească aplicarea regulată imaginea controlată. În cazul în care cererea nu răspunde, atunci NSSM poate rezilia în mod forțat toate procesele și sub-procese ale acestei aplicații.

Există patru etape de finalizare a cererii, și implicit acestea vor fi utilizate în această ordine:

• În prima etapă NSSM încearcă să genereze și să trimită un eveniment Ctrl + C. Această metodă funcționează bine pentru aplicații de consolă sau scripturi, dar nu este aplicabil pentru aplicații grafice;
• Apoi NSSM definește toate ferestrele create de aplicație și le trimite mesajul WM_CLOSE, inițiind ieșirea cererii;
• A treia etapă NSSM calculează toate thread-urile create de aplicație și le trimite un mesaj de un WM_QUIT, care va fi obținut în cazul în care cererea are toate fluxul de mesaje;
• Și, în ultimă instanță NSSM poate provoca metoda TerminateProcess (), forța renunțe la cererea.

Posibilitatea de a dezactiva unele sau toate metodele, dar pentru diferite aplicații declanșează diferite metode și pentru completarea corectă a cererii este recomandat să-l lăsați așa.

Cum de a rula aplicația ca un serviciu Windows

În mod implicit, atunci când serviciul de toamna NSSM încearcă să-l reporni. Pe „acțiunile de ieșire“, puteți modifica acțiunea automată atunci când anormal de finalizare a cererii, precum și pentru a seta întârzierea înainte de a reporni în mod automat aplicații.

Cum de a rula aplicația ca un serviciu Windows

Pe „intrare / ieșire (I / O)“, puteți seta redirecționarea de intrare ieșire \ aplicație în fișierul specificat.

Cum de a rula aplicația ca un serviciu Windows

În fila „Mediu“, puteți seta noile variabile de mediu de serviciu, sau redefinirea celor existente.

Cum de a rula aplicația ca un serviciu Windows

De asemenea, nu puteți utiliza interfața grafică cu utilizatorul și imediat a crea un serviciu în consolă cu comanda:

NSSM instala Notepad "C: \ Windows \ System32 \ notepad.exe"

de gestionare a serviciilor

După ce creați un serviciu folosind NSSM să ne introduceți utilitarul de completare snap-in și găsi blocnotes de serviciu. După cum puteți vedea din aspectul nu este diferit de alte servicii, de asemenea, putem porni, opri sau schimba modul de pornire. Rețineți, totuși, că, în calitate de fișier executabil nssm.exe specificat.

Cum de a rula aplicația ca un serviciu Windows

Și dacă te duci la Task Manager, putem vedea următoarea imagine: ca principală (părinte) proces lansat NSSM, Notepad birou a lansat procesul său copil, iar în acest proces copil rulează Notepad aplicație.

Cum de a rula aplicația ca un serviciu Windows

service Scoaterea

Pentru a șterge un serviciu, introduceți comanda NSSM de eliminare carnețelul și confirmați eliminarea acestuia. O tastare NSSM eliminare Notepad de confirmare, puteți face fără confirmare.

Cum de a rula aplicația ca un serviciu Windows

Porniți serviciul on-line

Principala diferență între o aplicație personalizată de serviciu constă în faptul că, după lansarea aplicației poate solicita să continue acțiuni suplimentare de către utilizator - de exemplu, apăsați un buton sau introduceți o comandă. Pentru a face acest lucru, trebuie să-l accesați, care, după cum se pare, nu atât de ușor de făcut.

Cum de a rula aplicația ca un serviciu Windows

Cum de a rula aplicația ca un serviciu Windows

După aceea, deschideți consola PowerShell, și vom începe serviciul, faceți clic pe Discovery:

Start-Service -Name ui0detect

Cum de a rula aplicația ca un serviciu Windows

Convins că serviciul de căutare se execută, serviciu restartuem Notepad, și ajunge aici este o fereastră. Selectați "View Post"

Cum de a rula aplicația ca un serviciu Windows

si vom intra intr-o sesiune de nul, care rulează aplicația noastră. Atunci am să-l acțiunile necesare și să se întoarcă înapoi.

Cum de a rula aplicația ca un serviciu Windows

Aceasta este aici o soluție interesantă pentru a rula aplicații ca servicii Windows. Nu este cel mai frumos, dar este de până la numele său

Link-uri conexe