A teraz odpowiedź systemowa.
Minęły prawie cztery lata od tych pytań i odpowiedzi, a świat się zmienił, podczas gdy nie. Od wersji 7 CentOS używa systemd. W pytaniu i komentarzach wspomina się o Ubuntu. Od wersji 15 Ubuntu używa także systemd.
Chociaż można użyć systemu 5 rc
skrypty w systemie, skrypty w odpowiedziach są tutaj bardzo suboptymalne, delikatnie mówiąc. Jeden beztrosko korzysta killall
, których problemy z zarządzaniem demona są dobrze znane; a drugi to bałagan kłębiastego pliku blokady i logiki pliku PID Żaden z czego jest rzeczywiście konieczne w przypadku menedżera usług, ponieważ menedżerowie usług sami śledzić procesy demona.
Jak już powiedziałem w innym miejscu, jeśli zaczynasz uczyć się tych rzeczy i używasz CentOS Linux w wersji 7 lub nowszej lub Ubuntu Linux w wersji 15 lub nowszej, nie zaczynaj od System 5 rc
przede wszystkim skrypty. Zacznij od plików jednostek systemowych.
szablon dla wielu usług Xvfb
Prosty xvfb.service
systemowe pliki jednostek dla xvfb można znaleźć pod adresem https://www.centos.org/forums/viewtopic.php?f=48&t=49080#p208363 i na https://askubuntu.com/a/621256/43344 . Jak jednak wspomniałem w tym drugim, można również zastosować podejście templatowane:
[Unit]
Description=virtual frame buffer X server for display %I
After=network.target
[Service]
ExecStart=/usr/bin/Xvfb %I -screen 0 1280x1024x24
[Install]
WantedBy=multi-user.target
Jako lokalnie napisany, niesystemowy, nieopakowany plik jednostkowy dla usług w całym systemie (w przeciwieństwie do usług dla poszczególnych użytkowników) /etc/systemd/system/xvfb@.service
oczywiście.
kontrolowanie usług
Jeden tworzy instancję szablonu w rzeczywistej nazwie usługi, z numerem wyświetlanym, który jest pożądany. Do wyświetlenia :99
dlatego istnieje nazwa rzeczywistej instancji usługi xvfb@:99.service
.
- Ustaw usługę, aby automatycznie uruchamiała się przy bootstrapie
systemctl enable xvfb@:99.service
.
- Wyzeruj automatyczne uruchamianie usługi za pomocą
systemctl disable xvfb@:99.service
.
- Uruchom usługę ręcznie za pomocą
systemctl start xvfb@:99.service
.
- Zatrzymaj usługę ręcznie za pomocą
systemctl stop xvfb@:99.service
.
- Szczegółowo sprawdź bieżący stan usługi za pomocą
systemctl status xvfb@:99.service
.
Dalsze czytanie