Bootscript wird ausgeführt, Script startet, tut aber nichts

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Zusammen,
    ich habe gerade etwas verständnisprobleme mit den Startscripts.

    Ich habe bereits Webserver mit Node.js ausgeführt zur startzeit, das funktioniert wunderbar. Nun habe ich ein Node.js Script welches Sound steuern soll ... was es auch wunderbar tut wenn man das script per hand von der console startet.
    Beim Starten des Scriptes über entweder rc.local oder crontab sehe ich, dass das Script läuft ... also mittels "ps aux" aber es funktioniert keine sound ausgabe.

    als cronjob: nach crontab -e habe ich folgendes hinzugefügt: @reboot /opt/node/bin/forever start /var/www/node/myproject/server.js

    im file: /etc/rc.local : /opt/node/bin/forever start /var/www/node/myproject/server.js

    Mein Node.js Script includiert folgende module:

    var fs = require("fs");
    var lame = require("lame");
    var Speaker = require("speaker");
    var SerialPort = require("serialport").SerialPort;


    Hat irgendjemand eine Ahnung an was das liegt? :helpnew:

  • Bootscript wird ausgeführt, Script startet, tut aber nichts? Schau mal ob du hier fündig wirst!

  • Meine erste Vermutung wäre das zum Zeitpunkt des Autostarts das Sounddevice noch nicht ready ist - also am besten eine Verzögerung, entweder ins java Script oder ein seperates bash Script über Autostart ausführen worin dann eine Verzögerung drin ist, einbauen.

    Du könntest dir auch beim Starten die Ausgabe in ein Logfile schreiben lassen um ggf Startprobleme besser erkennen zu können (oder überhaupt, da du beim Autostart ja keine Ausgabe in der Konsole kriegst):

    Code
    /opt/node/bin/forever start /var/www/node/myproject/server.js > /tmp/nodeJS.log 2>&1

    Eine weitere Möglichkeit wäre den jeweiligen Benutzer automatisch anmelden zu lassen und das Java Script dann über ~/.profile oder ~/.bashrc starten zu lassen. Oder direkt über /etc/profile ... Siehe dazu zB > hier <

    Es gäbe auch noch andere AutoStart Möglichkeiten, bemüh mal die Forumsuche (oben rechts) nach: Autostart

    Oder es fehlt dem Script beim Autostart den richtigen Path zu finden, also sodass $PATH zu dem Zeitpunkt noch nicht auf /opt/node/bin/ oder so zeigt?


    PS: ein ziemlich ähnliches Problem wurde vor 5 Tagen auch auf stackoverflow gepostet..

  • Vielen Dank für deine Antwort!
    Ich habe leider nichts gefunden wie ich das ganze mit node.js lösen könnte... die ganzen autostart methoden habe ich ja bereits durch, ich habe nur zwei angeführt... egal, meine lösung war jetzt einfach das ganze auf python umzuschreiben, weil in python ging das ganze auf anhieb.

    Ich weiß leider nicht ob das Problem an dem node.js modul liegt welches ich verwendet habe oder etwas anderem... Falls mir wer die richtige antwort für node.js sagen kann wäre ich noch immer daran interessiert :s

    Fürs erste kann ich leider nur sagen ... better use python on raspberry pi :thumbs1:

    PS.: der stackoverflow beitrag da gings um genau das gleiche... war meiner ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!