If-Koubou

Jak uruchomić dowolny program jako usługę w tle w systemie Windows

Jak uruchomić dowolny program jako usługę w tle w systemie Windows (Jak)

Jeśli jesteś jak większość użytkowników systemu Windows, masz wiele świetnych narzędzi, które działają po uruchomieniu systemu Windows. Chociaż działa to doskonale w przypadku większości aplikacji, niektóre z nich powinny wystartować nawet przed zalogowaniem się użytkownika 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.

Podstawową 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, które zapewniają ważne usługi, które chcesz być dostępne, 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? Dopóki nie zalogujesz się ponownie 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.
  • Gdy zachodzi potrzeba wprowadzenia zmian lub aktualizacji konfiguracji, 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 prawie 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 również, że już zainstalowałeś i skonfigurowałeś program, który zamienisz w usługę, ale jeśli nie, to byłby to dobry moment, 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, który 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 zastąp rozszerzenie .txt rozszerzeniem .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 uruchamiał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 systemu 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, które zaczynają się od systemu Windows i wolisz, aby były uruchamiane bez konieczności logowania użytkownika, wystarczy, że zmienisz 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ć sposób działania usługi. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z dokumentacją.