Und jetzt antwortet das System.
Seit diesen Fragen und Antworten sind fast vier Jahre vergangen, und die Welt hat sich verändert, obwohl dies nicht der Fall ist. Seit Version 7 verwendet CentOS systemd. Ubuntu wird in der Frage und in den Kommentaren erwähnt. Seit Version 15 verwendet Ubuntu auch systemd.
Obwohl man System 5- rc
Skripte unter systemd verwenden kann, sind die Skripte in den Antworten hier, gelinde gesagt, höchst suboptimal. Man verwendet killall
munter, dessen Probleme für das Dæmon-Management bekannt sind; und das andere ist ein Durcheinander von wackeliger Sperrdatei und PID- Dateilogik, von denen keine unter einem Service-Manager tatsächlich notwendig ist, da Service-Manager selbst die Dæmon-Prozesse verfolgen.
Wie ich bereits an anderer Stelle gesagt habe, sollten Sie nicht mit System 5- rc
Skripten beginnen, wenn Sie anfangen, dieses Zeug zu lernen und CentOS Linux Version 7 oder höher oder Ubuntu Linux Version 15 oder höher verwenden . Beginnen Sie mit systemd unit files.
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 /ubuntu//a/621256/43344 . Wie ich bereits erwähnt habe, kann man jedoch auch einen templatisierten Ansatz verfolgen:
[Einheit]
Beschreibung = virtueller Frame Buffer X-Server für Anzeige% I.
Nach = network.target
[Bedienung]
ExecStart = / usr / bin / Xvfb% I -screen 0 1280x1024x24
[Installieren]
WantedBy = multi-user.target
Als lokal geschriebene, nicht systemgebundene, nicht gepackte Einheitendatei für systemweite Dienste (im Gegensatz zu Diensten pro Benutzer) wird dies /etc/systemd/system/xvfb@.service
natürlich berücksichtigt.
Kontrolle der Dienstleistungen
Man instanziiert die Vorlage in einen tatsächlich benannten Dienst mit der gewünschten Anzeigenummer. Zur 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 mit automatisch startet
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
.
- Überprüfen Sie den aktuellen Servicestatus im Detail mit
systemctl status xvfb@:99.service
.
Weiterführende Literatur