Jak uruchomić dowolny program jako usługę w tle w systemie Windows
Jeśli jesteś jak większość użytkowników systemu Windows, masz wiele świetnych narzędzi, które uruchamiają się po uruchomieniu systemu Windows. Mimo że działa to doskonale w przypadku większości aplikacji, niektóre z nich powinny wystartować, zanim użytkownik zaloguje się na komputerze. Aby to zrobić, musisz uruchomić aplikację jako usługę Windows.
Usługi Windows to specjalna klasa programów, które są skonfigurowane do uruchamiania i uruchamiania w tle, zwykle bez jakiegokolwiek interfejsu użytkownika i bez konieczności logowania użytkownika do komputera. Wielu graczy i zaawansowanych użytkowników zna je jako te, których użyłeś do wyłączenia, aby przyspieszyć działanie systemu, ale to już nie jest konieczne.
Główną zaletą uruchamiania aplikacji jako usługi jest to, że możesz uruchomić program, zanim użytkownik się zaloguje. Może to być szczególnie ważne w przypadku aplikacji zapewniających ważne usługi, które chcesz udostępniać, gdy jesteś daleko od komputera.
Doskonałym tego przykładem jest Plex, aplikacja serwera multimediów, która może przesyłać lokalną zawartość do dowolnego urządzenia, które posiadasz. Oczywiście, możesz pozwolić mu usiąść w zasobniku systemowym jak normalny program, ale co jeśli komputer uruchomi się ponownie z powodu przerwy w zasilaniu lub zaplanowanych aktualizacji? Do czasu ponownego zalogowania się na komputerze Plex nie będzie dostępny. To irytujące, jeśli musisz uciekać do innego pokoju, aby zacząć Plex z powrotem, gdy popcorn stanie się zimny, i bardzo irytujesz, jeśli jesteś poza miastem i próbujesz przesyłać strumieniowo swoje media przez Internet. Ustanowienie usługi Plex jako usługi rozwiązałoby ten problem.
Przed rozpoczęciem warto pamiętać o kilku ważnych zastrzeżeniach dotyczących uruchamiania aplikacji jako usługi:
- Aplikacja nie umieści ikony w zasobniku systemowym. Jeśli potrzebujesz regularnie dostępnego interfejsu dla aplikacji, może nie być najlepiej przystosowany do działania jako usługa.
- Jeśli chcesz wprowadzić zmiany w konfiguracji lub aktualizacje, musisz zatrzymać usługę, uruchomić program jako zwykłą aplikację, zrobić to, co musisz zrobić, zatrzymać program, a następnie ponownie uruchomić usługę.
- Jeśli program jest już skonfigurowany do uruchamiania po uruchomieniu systemu Windows, musisz go wyłączyć, aby nie kończyły się dwie uruchomione instancje. Większość programów ma opcję w interfejsie do przełączania tego ustawienia. Inni mogą dodać siebie do folderu Autostart, dzięki czemu możesz je tam usunąć.
Gotowy by skręcić? Porozmawiajmy o tym, jak to ustawić.
Krok pierwszy: Zainstaluj SrvStart
Aby uruchomić aplikację jako usługę, potrzebujesz małego narzędzia innej firmy. Jest ich kilka, ale naszym ulubionym jest SrvStart. Został pierwotnie zaprojektowany dla systemu Windows NT i będzie współpracować z niemal każdą wersją systemu Windows od systemu Windows XP.
Aby rozpocząć, przejdź do strony pobierania SrvStart i pobierz narzędzie. Pobieranie zawiera tylko cztery pliki (dwie biblioteki DLL i dwa pliki EXE). Nie ma instalatora; zamiast tego skopiuj je na komputer C: \ Windows
przenieś je do głównego folderu Windows, aby "zainstalować" SrvStart.
Zakładamy także, że już zainstalowałeś i skonfigurowałeś program, który zamienisz w usługę, ale jeśli nie, to byłby to dobry czas, aby to zrobić..
Krok drugi: Utwórz plik konfiguracyjny dla nowej usługi
Następnie należy utworzyć plik konfiguracyjny, który SrvStart odczyta w celu utworzenia usługi. Z SrvStart możesz zrobić wiele rzeczy i możesz przeczytać pełne szczegóły wszystkich opcji konfiguracyjnych na stronie dokumentacji. W tym przykładzie użyjemy tylko dwóch poleceń: uruchomienie
, który określa program do uruchomienia, i shutdown_method
, co mówi SrvStart, jak zamknąć program po zatrzymaniu odpowiedniej usługi.
Uruchom Notatnik i utwórz plik konfiguracyjny w poniższym formacie. Tutaj używamy Plex, ale możesz utworzyć plik dla dowolnego programu, który chcesz uruchomić jako usługę. The uruchomienie
polecenie po prostu określa ścieżkę, w której znajduje się plik wykonywalny. Dla shutdown_method
polecenie, używamy winmessage
Parametr, który powoduje, że SrvStart wysyła komunikat zamknięcia systemu Windows do dowolnego okna otwartego przez usługę.
[Plex] startup = "C: \ Program Files (x86) \ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessage
Oczywiście dostosuj ścieżkę i nazwę zgodnie z uruchamianym programem.
Zapisz nowy plik konfiguracji w dowolnym miejscu i zamień rozszerzenie .txt na rozszerzenie .ini. Zanotuj nazwę pliku, ponieważ będziemy jej potrzebować w następnym kroku. Aby ułatwić pisanie w wierszu polecenia, zalecamy chwilowe zapisanie tego pliku bezpośrednio na dysku C :..
Krok trzeci: Użyj wiersza polecenia, aby utworzyć nową usługę
Następnym krokiem jest użycie polecenia Windows Service Controller (SC) do utworzenia nowej usługi w oparciu o kryteria w pliku konfiguracyjnym. Otwórz okno wiersza polecenia, klikając prawym przyciskiem myszy menu Start (lub naciskając Windows + X), wybierając "Wiersz polecenia (administrator)", a następnie klikając przycisk Tak, aby zezwolić na uruchomienie z uprawnieniami administratora.
W wierszu polecenia użyj następującej składni, aby utworzyć nową usługę:
SC CREATE Displayname = "" binpath = "srvstart.exe -c" start =
Jest kilka rzeczy do zapamiętania w tym poleceniu. Po pierwsze, każdy znak równości (=) ma spację po nim. To jest wymagane. Ponadto wartość zależy wyłącznie od Ciebie. I wreszcie, dla
wartość, będziesz chciał użyć
automatyczny
aby usługa uruchomiła się automatycznie w systemie Windows.
Tak więc w naszym przykładzie Plex polecenie wyglądałoby tak:
SC CREATE Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = auto
Tak, dobrze to przeczytałeś: użyłem C: PlexService.ini
zamiast C: \ PlexService.ini
. Polecenie wymaga usunięcia ukośnika.
Po uruchomieniu polecenia powinien pojawić się komunikat SUCCESS, jeśli wszystko pójdzie dobrze.
Od tego momentu twoja nowa usługa będzie działać przy każdym uruchomieniu systemu Windows. Jeśli otworzysz interfejs usług Windows (po prostu kliknij Start i wpisz "Usługi"), możesz znaleźć i skonfigurować nową usługę, tak jak każdą inną.
I to wszystko. Jeśli masz aplikacje uruchamiane w systemie Windows i wolisz, aby były uruchamiane bez logowania się użytkownika, łatwo można przekształcić dowolną aplikację w usługę. Właśnie omówiliśmy podstawową metodę tworzenia i uruchamiania nowej usługi, ale można znacznie więcej z SrvStartem, aby dostroić działanie usługi. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z dokumentacją.