Hvis du er som de fleste Windows-brukere, har du mange flotte små verktøy som kjører når du starter Windows. Selv om dette fungerer bra for de fleste apper, er det noen som vil være hyggelige å starte, selv før en bruker logger på PCen. For å gjøre dette må du kjøre appen som en Windows-tjeneste.
Windows-tjenester er en spesiell klasse med programmer som er konfigurert til å starte og kjøre i bakgrunnen, vanligvis uten noen form for brukergrensesnitt og uten at en bruker trenger å logge på PCen. Mange spillere og strømbrukere kjenner dem til de tingene du pleide å deaktivere for å øke hastigheten på systemet ditt det er egentlig ikke nødvendig lenger .
Den primære fordelen med å kjøre en app som en tjeneste er at du kan få et programstart før en bruker kan logge på. Det kan være spesielt viktig med apper som tilbyr viktige tjenester du vil være tilgjengelige når du er borte fra datamaskinen.
I SLEKT: Forstå og administrere Windows-tjenester
Et perfekt eksempel på dette er Plex , en mediaserver-app som kan streame lokalt innhold til omtrent hvilken som helst enhet du eier. Visst, du kan la den sitte i systemstatusfeltet som et vanlig program, men hva om datamaskinen starter på nytt på grunn av strømbrudd eller planlagte oppdateringer? Inntil du logger deg på PC-en igjen, vil ikke Plex være tilgjengelig. Det er irriterende hvis du må løpe til et annet rom for å starte Plex på nytt mens popcorn blir kaldt, og veldig irriterende hvis du er ute av byen og prøver å streame media over Internett. Å sette opp Plex som en tjeneste ville løse dette problemet.
Før du begynner, bør du være oppmerksom på et par viktige forbehold for å kjøre en app som en tjeneste:
- Appen legger ikke et ikon i systemstatusfeltet. Hvis du trenger grensesnittet som er tilgjengelig regelmessig for en app, er det kanskje ikke best egnet til å kjøre som en tjeneste.
- Når du trenger å gjøre konfigurasjonsendringer eller oppdateringer, må du stoppe tjenesten, kjøre programmet som en vanlig app, gjøre det du trenger å gjøre, stoppe programmet og deretter starte tjenesten på nytt.
- Hvis programmet allerede er konfigurert til å kjøre når Windows starter, må du deaktivere det slik at du ikke ender med to forekomster som kjører. De fleste programmer har et alternativ i grensesnittet for å bytte denne innstillingen. Andre kan legge seg til din Oppstartsmappe , slik at du kan fjerne dem der.
Klar til å rulle? La oss snakke om hvordan du konfigurerer det.
Trinn 1: Installer SrvStart
For å kjøre en app som en tjeneste, trenger du et lite tredjepartsverktøy. Det er flere der ute, men vår favoritt er SrvStart . Den ble opprinnelig designet for Windows NT, og vil fungere med omtrent hvilken som helst versjon av Windows fra Windows XP og oppover.
For å komme i gang, gå over til
SrvStart nedlastingsside
og ta tak i verktøyet. Nedlastingen inneholder bare fire filer (to DLL og to EXE-filer). Det er ingen installatør; i stedet kopier disse til datamaskinens
C: \ Windows
mappe disse til din viktigste Windows-mappe for å "installere" SrvStart.
Vi kommer også til å anta at du allerede har installert og satt opp hvilket program du vil gjøre om til en tjeneste, men hvis du ikke har gjort det, ville det også være en god tid å gjøre det også.
Trinn to: Opprett en konfigurasjonsfil for den nye tjenesten
Deretter vil du opprette en konfigurasjonsfil som SrvStart vil lese for å opprette tjenesten. Det er mye du kan gjøre med SrvStart, og du kan lese alle detaljene om alle konfigurasjonsalternativene på
dokumentasjonsside
. For dette eksemplet skal vi bare bruke to kommandoer:
oppstart
, som spesifiserer programmet som skal lanseres, og
shutdown_method
, som forteller SrvStart hvordan du lukker programmet når den respektive tjenesten stoppes.
Slå av Notisblokk og opprett konfigurasjonsfilen din ved hjelp av formatet nedenfor. Her bruker vi Plex, men du kan opprette en fil for ethvert program du vil kjøre som en tjeneste. De
oppstart
kommandoen spesifiserer ganske enkelt banen der den kjørbare filen ligger. For
shutdown_method
kommando, bruker vi
vindmelding
parameter, som får SrvStart til å sende en Windows-lukkemelding til alle vinduer som tjenesten åpner.
[Plex] startup = "C: \ Program Files (x86) \ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessage
Juster tydeligvis banen og navnet i henhold til programmet du starter.
Lagre den nye konfigurasjonsfilen hvor du vil, og erstatt .txt-utvidelsen med en .ini-utvidelse. Legg merke til filnavnet, siden vi trenger det i neste trinn. For å gjøre det enkelt å skrive ved ledeteksten, foreslår vi at du lagrer denne filen midlertidig rett på C: -stasjonen.
Trinn tre: Bruk ledeteksten til å opprette den nye tjenesten
Neste trinn er å bruke Windows Service Controller (SC) -kommandoen for å opprette den nye tjenesten basert på kriteriene i konfigurasjonsfilen. Åpne ledetekst ved å høyreklikke på Start-menyen (eller trykke på Windows + X), velge "Kommandoprompt (administrator)" og deretter klikke Ja for å la den kjøre med administratorrettigheter.
Ved ledeteksten bruker du følgende syntaks for å opprette den nye tjenesten:
SC CREATE <servicename> Displayname = "<servicename>" binpath = "srvstart.exe <servicename> -c <path to srvstart config file>" start = <starttype>
Det er et par ting å merke seg i den kommandoen. Først har hvert likhetstegn (=) et mellomrom etter seg. Det er nødvendig. Også, den
<tjenestenavn>
verdien er helt opp til deg. Og til slutt for
<starttype>
verdi, vil du bruke
auto
slik at tjenesten starter automatisk med Windows.
Så i vårt Plex-eksempel, vil kommandoen se slik ut:
SC CREATE Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = auto
Ja, du leste riktig: Jeg brukte
C: PlexService.ini
i stedet for
C: \ PlexService.ini
. Kommandoen krever at du fjerner skråstrek.
Når du kjører kommandoen, bør du motta en SUCCESS-melding hvis alt går bra.
Fra dette tidspunktet vil den nye tjenesten kjøre når Windows starter. Hvis du åpner Windows Services-grensesnittet (bare klikk Start og skriv inn "Services"), kan du finne og konfigurere den nye tjenesten akkurat som du ville gjort.
Og det er alt det er. Hvis du har apper som starter med Windows, og du heller vil at de skal starte uten at en bruker trenger å logge på, er det enkelt å gjøre en app om til en tjeneste. Vi har bare nettopp berørt den grunnleggende metoden for å opprette og kjøre en ny tjeneste, men det er mye mer du kan gjøre med SrvStart for å finjustere hvordan en tjeneste kjører. Husk å sjekke dokumentasjonen hvis du vil lære mer.