Hvordan afbryder en Windows-tjeneste et program med et standardinterval?

Indlæg af Hanne Mølgaard Plasc

Problem



En konsulent opsætter en Windows-tjeneste til at køre et program. Ansøgningen skal løbe hvert 15. minut. Programmet kører slet ikke, og tjenesten ser ud til at være i orden.


Jeg er ikke bekendt med, hvordan en applikation vil køre ved et standardinterval, når du kører som en tjeneste.


Tjenesten bruger SRVANY.EXE værktøjet.

Bedste reference


Enhver 'konsulent', der opretter en tjeneste til at køre ved hjælp af SRVANY.EXE, skal fyres. SRVANY er et uheldigt hack, der burde have været pensioneret for et årti siden; Det skal aldrig bruges i et produktionsmiljø .


Hvis det eneste formål med tjenesten er at køre appen på en tidsplan, bør den slet ikke eksistere. Kør appen som en planlagt opgave. Hvis den har anden funktionalitet, skriv den om som en reel tjeneste. Hvis det er rimeligt godt skrevet det skal være en temmelig let konvertering.

Andre referencer 1


Der er mange potentielle problemer med din ansøgning.


SRVANY.EXE skifter enhver applikation til en Windows-tjeneste. Hvis den ansøgning nogensinde beder om brugerindgang, vil den hænge. Du vil gerne bekræfte, at applikationen kører som en tjeneste, ikke mere end at starte den anden applikation.


Du skal også kunne køre programmet 'starter' manuelt uden for Windows-tjenesten. Hvis det stadig ikke virker som det burde du ved det, er det ikke relateret til at blive kørt som en tjeneste.

Andre referencer 2


For at tilføje til de andre svar: Se KB137890 på, hvad SRVANY.EXE rent faktisk gør, og hvordan man finder ud af, hvilken applikation den kører. [1]


Det forekommer mig, at du ville være bedre (hvis du kan) oprette en planlagt opgave, der kører hver ansøgning hvert 15. minut, hvis du kan.

Andre referencer 3


Jeg er ikke sikker på, om dette er korrekt, men jeg tror, ​​at en måde, hvorpå en serivce kører en applikation, kun er at have en tråd i OnStart og sætte den i gang med at køre applikationen med en omsætning på 15 minutter.