GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ein Ruby-Programm beim Start ausführen?

Ich habe einen kleinen WebSocket-Server mit Ruby geschrieben. Ich führe es von der Befehlszeile aus mit dem Befehl:

ruby websocket_server.rb

Dies bringt den Server hoch und funktioniert, bis ich meine SSH-Verbindung offen und aktiv halte (ich mache das auf einem Server, der sich in einer Remote-Serverfarm befindet, also kein direkter Zugriff).
Ich würde gerne verstehen wie man zwei Skripte schreibt:eines, das das Ruby-Programm beim Start startet, und das andere, das (sagen wir alle 30 Minuten) überprüft, ob das Programm läuft und läuft.
Als Nebenbemerkung ist mein Endziel, ein „ Schaltfläche“ auf einem PHP-Dashboard, um den Prozess erneut zu starten, wenn er hängt, ohne auf den Check&Restart-Prozess warten zu müssen (ich kann den Prozessstatus bereits überprüfen).

Akzeptierte Antwort:

Ubuntu 14.04 verwendet Upstart , sodass Sie eine kleine Konfigurationsdatei schreiben können, die sagt,
wie Upstart Ihren Dienst verwalten soll, den Sie zum Beispiel
„myweb“ nennen. Erstellen Sie mit sudo eine Datei namens /etc/init/myweb.conf (ein
symbolischer Link von dort zu einer echten Datei funktioniert nicht) mit Inhalten
etwas wie:

description "run webSocket server when network ready"
start on static-network-up
respawn
exec ruby websocket_server.rb

Sie können dies mit

testen
sudo start myweb
status myweb
sudo stop myweb

Der status Der Befehl zeigt an, ob der Prozess noch läuft. respawn sagt, dass Sie
möchten, dass es automatisch neu gestartet wird, wenn es stirbt. Die Start-, Stopp- und Statusbefehle sind alle nur Links zu initctl.
Siehe man initctl , man 5 init für das conf-Dateiformat und das Upstart-Kochbuch.


Ubuntu
  1. utorrent-Startskript / utorrent beim Booten ausführen – Ubuntu 14.04 / 14.10

  2. Wie man ein C-Programm in Ubuntu kompiliert und ausführt

  3. Wie lade ich ein Programm für einen schnelleren Start vor?

  4. Wie installiere ich ein Gui-Programm auf Ubuntu Server?

  5. Starten Sie eine Notfallkonsolensitzung

So führen Sie ein Skript beim Start auf Ubuntu 20.04 Focal Fossa Server/Desktop aus

So führen Sie ein Skript beim Start auf Ubuntu 22.04 Jammy Jellyfish Server/Desktop aus

So führen Sie das Hadoop MapReduce-Programm unter Ubuntu 16.04 aus

So führen Sie Tomcat Server beim Start auf Ubuntu Server aus

So führen Sie Java-Programme in Ubuntu aus

Skript beim Start?