Sådan kører du et hvilket som helst program som en baggrundstjeneste i Windows
Hvis du er ligesom de fleste Windows-brugere, har du masser af gode, små værktøjer, der kører, når du starter Windows. Selv om dette virker godt for de fleste apps, er der nogle, der ville være rart at starte, selv før en bruger logger ind på pc'en. For at gøre dette skal du køre appen som en Windows-tjeneste.
Windows-tjenester er en speciel klasse af programmer, der er konfigureret til at starte og køre i baggrunden, normalt uden nogen form for brugergrænseflade og uden at have brug for en bruger til at logge ind på pc'en. Mange spillere og strømbrugere kender dem som de ting, du plejede at deaktivere, for at hjælpe med at fremskynde dit system, selv om det virkelig ikke er nødvendigt mere.
Den primære fordel ved at køre en app som en tjeneste er, at du kan starte et program, før en bruger logger ind. Det kan være særligt vigtigt med apps, der giver vigtige tjenester, som du vil være tilgængelige, når du er væk fra computeren.
Et perfekt eksempel på dette er Plex, en mediaserverapp, der kan streame lokalt indhold til næsten enhver enhed, du ejer. Sikker på, at du kan lade den sidde i proceslinjen som et normalt program, men hvad hvis computeren genstarter på grund af strømafbrydelser eller planlagte opdateringer? Indtil du logger ind igen på pc'en, ville Plex ikke være tilgængelig. Det er irriterende, hvis du skal løbe til et andet rum for at starte Plex back up, mens din popcorn bliver kold og super irriterende, hvis du er ude af byen og forsøger at streame dine medier over internettet. Opsætning af Plex som en tjeneste ville løse dette problem.
Før du starter, skal du være opmærksom på et par vigtige forbehold for at køre en app som en tjeneste:
- App'en vil ikke sætte et ikon i proceslinjen. Hvis du har brug for grænsefladen til rådighed regelmæssigt til en app, er det måske ikke bedst at køre som en tjeneste.
- Når du skal foretage konfigurationsændringer eller opdateringer, skal du stoppe tjenesten, køre programmet som en almindelig app, gøre hvad du skal gøre, stop programmet og start tjenesten igen.
- Hvis programmet allerede er konfigureret til at køre, når Windows starter, skal du deaktivere det, så du ikke ender med to forekomster, der kører. De fleste programmer har en mulighed i grænsefladen for at skifte denne indstilling. Andre kan føje sig til din Startup-mappe, så du kan fjerne dem der.
Klar til at rulle? Lad os tale om, hvordan du sætter det op.
Trin 1: Installer SrvStart
Hvis du vil køre en app som en tjeneste, skal du bruge et lille tredjepartsprogram. Der er flere derude, men vores favorit er SrvStart. Det blev oprindeligt designet til Windows NT, og vil fungere med næsten enhver version af Windows fra Windows XP på op.
For at komme i gang, gå over til SrvStart download siden og tag værktøjet. Downloaden indeholder kun fire filer (to DLL og to EXE-filer). Der er ingen installatør; I stedet skal du kopiere disse til din computers C: \ Windows
mappe disse til din hoved Windows-mappe for at "installere" SrvStart.
Vi kommer også til at antage, at du allerede har installeret og oprettet det program, du vil blive til en tjeneste, men hvis du ikke har det, ville det være en god tid at gøre det også.
Trin to: Opret en konfigurationsfil til den nye tjeneste
Dernæst vil du oprette en konfigurationsfil, som SrvStart vil læse for at oprette tjenesten. Der er meget, du kan gøre med SrvStart, og du kan læse de fulde detaljer om alle konfigurationsvalg på dokumentationssiden. For dette eksempel vil vi kun bruge to kommandoer: start op
, som angiver programmet at starte, og shutdown_method
, som fortæller SrvStart, hvordan man lukker programmet, når den pågældende tjeneste er stoppet.
Slå op Notesblok og opret din konfigurationsfil ved hjælp af nedenstående format. Her bruger vi Plex, men du kan oprette en fil til ethvert program, du vil køre som en tjeneste. Det start op
kommando angiver blot stien, hvor den eksekverbare fil er bosat. For shutdown_method
kommando, vi bruger winmessage
parameter, som får SrvStart til at sende en Windows close-besked til alle vinduer, der åbnes af tjenesten.
[Plex] startup = "C: \ Programmer (x86) \ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessage
Du skal selvfølgelig justere stien og navnet i henhold til det program, du lancerer.
Gem den nye konfigurationsfil, hvor du vil, og erstat .txt-udvidelsen med en .ini-udvidelse. Noter filnavnet, da vi skal bruge det i næste trin. For at lette at skrive på kommandoprompt foreslår vi midlertidigt at gemme denne fil direkte på dit C: -drev.
Trin tre: Brug kommandoprompt til at oprette den nye tjeneste
Dit næste trin bruger kommandoen Windows Service Controller (SC) til at oprette den nye tjeneste baseret på kriterierne i din konfigurationsfil. Åbn kommandoprompt ved at højreklikke på Start-menuen (eller trykke på Windows + X), vælg "Kommandoprompt (Admin)", og klik derefter på Ja for at lade det køre med administrative rettigheder.
Ved kommandoprompt bruger du følgende syntaks til at oprette den nye tjeneste:
SC CREATE Displaynavn = "" binpath = "srvstart.exe -c" start =
Der er et par ting at bemærke i den kommando. For det første har hvert ligestegn (=) et mellemrum efter det. Der er påkrævet. Også den Værdien er helt op til dig. Og endelig til
værdi, vil du bruge
auto
så tjenesten starter automatisk med Windows.
Så i vores Plex eksempel ville kommandoen se sådan ud:
SC CREATE Plex Displaynavn = "Plex" binpath = "srvstart.exe Plex-c C: PlexService.ini" start = auto
Ja, du læste det rigtigt: Jeg brugte C: PlexService.ini
i stedet for C: \ PlexService.ini
. Kommandoen kræver, at du fjerner skråstreget.
Når du kører kommandoen, skal du modtage en Succesmeddelelse, hvis alt går godt.
Fra dette tidspunkt løber din nye tjeneste, når Windows starter. Hvis du åbner Windows Services-grænsefladen (klik blot på Start og skriv "Tjenester"), kan du finde og konfigurere den nye tjeneste, ligesom du ville have andre.
Og det er alt der er til det. Hvis du har apps, der starter med Windows, og du hellere vil starte uden at skulle have en bruger til at logge ind, er det nemt nok til at gøre en app til en tjeneste. Vi har kun lige rørt den grundlæggende metode til at oprette og køre en ny tjeneste, men der er meget mere, du kan gøre med SrvStart, for at finjustere, hvordan en service kører. Sørg for at tjekke dokumentationen, hvis du vil lære mere.