Und jetzt die systemd Antwort.
Seit diesen Fragen und Antworten sind fast vier Jahre vergangen, und die Welt hat sich verändert, während sie es nicht getan hat. Seit Version 7 verwendet CentOS systemd. Ubuntu wird in der Frage und in Kommentaren erwähnt. Ubuntu verwendet seit Version 15 auch systemd.
Obwohl man rc
unter systemd System 5- Skripte verwenden kann, sind die hier angegebenen Antworten in den Antworten sehr suboptimal, um es gelinde auszudrücken. Man verwendet killall
munter, deren Probleme für das Dæmon-Management bekannt sind; und das andere ist ein Chaos von wackeligen Sperrdatei und PID - Datei Logik keiner von denen tatsächlich unter einem Service - Manager notwendig ist, da Service - Manager selbst verfolgen Daemonprozesse.
Wie ich bereits an anderer Stelle gesagt habe: Wenn Sie anfangen, dieses Zeug zu lernen und sich auf CentOS Linux Version 7 oder höher oder Ubuntu Linux Version 15 oder höher befinden, beginnen Sie nicht mit System 5- rc
Skripts. Beginnen Sie mit systemd Unit-Dateien.
eine Vorlage für mehrere Xvfb-Dienste
Einfache xvfb.service
systemd-Unit-Dateien für xvfb finden Sie unter https://www.centos.org/forums/viewtopic.php?f=48&t=49080#p208363 und unter https://askubuntu.com/a/621256/43344 . Wie ich an letzterer Stelle erwähnt habe, kann man jedoch auch einen templatisierten Ansatz verfolgen:
[Einheit] Beschreibung = X-Server des virtuellen Frame-Puffers für die Anzeige% I Nach = network.target [Bedienung] ExecStart = / usr / bin / Xvfb% I - Bildschirm 0 1280x1024x24 [Installieren] WantedBy = Multi-User.target
Als lokal geschriebene, nicht im System befindliche, nicht paketierte Unit-Datei für systemweite (im Gegensatz zu benutzerspezifischen) Services gilt dies /etc/systemd/system/xvfb@.service
natürlich für die Installation.
Kontrolle der Dienste
Die Vorlage wird in einen tatsächlichen benannten Dienst mit der gewünschten Anzeigenummer instanziiert. Für die Anzeige :99
gibt es daher eine tatsächliche Dienstinstanz mit dem Namen xvfb@:99.service
.
- Stellen Sie den Dienst so ein, dass er beim Bootstrap automatisch gestartet wird
systemctl enable xvfb@:99.service
. - Deaktivieren Sie das automatische Starten des Dienstes mit
systemctl disable xvfb@:99.service
. - Starten Sie den Dienst manuell mit
systemctl start xvfb@:99.service
. - Beenden Sie den Dienst manuell mit
systemctl stop xvfb@:99.service
. - Prüfen Sie den aktuellen Servicestatus ausführlich mit
systemctl status xvfb@:99.service
.
Lesen Sie weiter
- Stephen Wadeley (2014). "8. Verwalten von Diensten mit systemd" Red Hat Enterprise Linux 7 Handbuch für Systemadministratoren . Roter Hut.
- Lennart Pöttering (07.10.2013).
systemctl
. systemd-Handbuchseiten. freedesktop.org. - https://unix.stackexchange.com/a/200281/5132