Showing Posts From

Daemon

  • 09 Sep, 2016
  • 2 Min. Lesezeit

Node.js App mit Init Script beim Neustart/Reboot automatisch starten - linux raspberry pi daemons

Du möchtest ein Node.js Script, oder einen CMD Befehl bei Hochfahren/Neustart/Reboot automatisch ausführen, dann bist du hier genau richtig. Nach dem Laden des Linux-Kernels wird als erstes Programm überhaupt das Programm init gestartet. Dieses Programm startet alle weiteren Programme. Welche das sind, wird über die Skripte im Verzeichnis /etc/init.d/ bestimmt. Der Vorteil gegenüber der /etc/init.d/ Variante ist, das du das Script über die Kommandozeile Neustarten, Stoppen und Starten kannst. Erstell ein Init Script für "dasher" (dasher ist nur ein Beispielname, du kannst ihn nach belieben verändern). sudo nano /etc/init.d/dasherKopiere den Inhalt dieses Init Script Templates. Mehr Informationen über diese Template findest du hier.Füge hinter Provides: den Scriptnamen ein und pass diese 3 Variablen (dir, cmd und user) am Anfang des Script an. Bei cmd kannst du jeden beliebigen Befehl eintragen den du auch im Terminal ausführen kannst. So kannst du beim Neustart einen beliebigen Befehlt ausführen lassen. #!/bin/sh ### BEGIN INIT INFO # Provides: dasher # Required-Start: $network $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFOdir="/home/pi/dasher" cmd="node app.js" user="root" … beende den Nano Texteditor mit ctrl+x am Mac, oder strg+x bei Windows und speichere die Änderung mit y.Ändere die Rechte des Init Script, um es ausführbar zu machen. sudo chmod 755 /etc/init.d/dasherAktiviere den dasher Dienst/Service (ersetze den Namen "dasher" mit dem Namen den du in Schritt 3 hinter Provides: geschrieben hast) sudo update-rc.d dasher defaultsBeim nächsten Neustart/Reboot wird das Script mit ausgeführt. Um es manuell zu starten kannst du folgenden Befehl verwenden. sudo /etc/init.d/dasher start Script stoppen sudo /etc/init.d/dasher stop Script neustarten sudo /etc/init.d/dasher restart Anstatt sudo /etc/init.d/dasher restart kannst du auch sudo service dasher restart schreiben.Um zu prüfen ob das Script läuft gib diesen Befehl ein/etc/init.d/dasher statusDie Logdateien kannst du dir wie folgt live ausgeben lassen.tail -f /var/log/dasher.log tail -f /var/log/dasher.err