Führen Sie mehr als ein Endlosschleifen-Skript von /etc/rc.local aus aus.

Führen Sie mehr als ein Endlosschleifen-Skript von /etc/rc.local aus aus.

Ich möchte beim Systemstart drei Endlosschleifen-Skripte ausführen, aber meine Idee funktioniert nicht:

##!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
cd /
cd home
cd pi
cd steamidle
node lostkiko1.js &
node lostkiko2.js &
node d.js

exit 0

Es führt nur das erste Skript aus (falls vorhanden). Ich denke, der Grund dafür ist klar: Es bleibt im ersten Skript hängen, weil es endlos ist ... Ich habe keine Ahnung, wie ich das beheben kann. Hat das jemand? Danke!

Antwort1

Verwenden Sie es nicht, cdes ist redundant. Verwenden Sie den vollständigen Pfad wie . node /home/pi/steamidle/lostkiko1.js &Außerdem sollte Ihr letztes Skript auch mit enden &, da die Shell weiterhin auf Ihr Beenden wartet rc.localund daher andere Prozesse blockiert.

Antwort2

Sie können für jedes Skript in der Anwendung „Startup-Anwendungen“ einen separaten Eintrag hinzufügen.

Drücken Sie die Super-Taste, um die Dash-Suche aufzurufen und suchen Sie nach „Startup Applications“. Dort kann für jedes der Skripte ein Eintrag hinzugefügt werden. Fügen Sie beispielsweise für den ersten Befehl „node /home/pi/steamidle/lostkiko1.js“ als Befehl hinzu.

verwandte Informationen