Forum: PC-Programmierung Raspbian: mehrere Prozesse parallel starten


von Rahul D. (rahul)


Lesenswert?

Hallo,
leider fällt mir kein passender Suchbegriff ein bzw. das, was ich bisher 
zu dem Thema gefunden habe, funktioniert nur mit einem Prozess.

Ich würde gerne auf dem Raspberry Pi unter Raspbian mit Hilfe eines 
Skripts (das später auch beim Booten ausgeführt wird) mehrere 
langandauernde skriptbasierte Prozesse quasi gleichzeitig starten.

Mein Script sieht derzeit etwa so aus:

screen Unterscript1 &
screen Unterscript2 &

Diese Form sorgt leider dafür, dass nur Unterscript1 ausgeführt wird (da 
es eine gewollte Endlosschleife enhält, wird Untrescript2 nie 
ausgeführt).

Kann mir bitte jemand einen Hinweis geben, wie ich sowas realisiere?

Vielen Dank im Vorraus.
Rahul

von Εrnst B. (ernst)


Lesenswert?

Wenns im Screen bleiben soll:

Screen kann gleich im Detached-State starten:
1
screen -dmS NAME1 mein_programm.sh
2
screen -dmS AndererName anders_programm

Ganz ohne '&'.

Die "-S"-Option ist nicht zwingend nötig, aber so kannst du dann z.B. 
mit
1
screen -r AndererName
auf die einzelnen Programme zugreifen.

: Bearbeitet durch User
von Rahul D. (rahul)


Lesenswert?

Danke, funktioniert!
Die screen-Parameter hätte ich natürlich auch selber herausfinden 
können.
Aber irgendwie hatte ich da makl wieder Scheuklappen auf.

von Marcus W. (marcusaw)


Lesenswert?

Wieso eigentlich mit "screen"? Reicht nicht ein "scripname &" aus, um 
ihm eine PID zu verpassen und das ding im Hintergrund werkeln zu lassen?

von Εrnst B. (ernst)


Lesenswert?

Marcus W. schrieb:
> Wieso eigentlich mit "screen"? Reicht nicht ein "scripname &" aus, um
> ihm eine PID zu verpassen und das ding im Hintergrund werkeln zu lassen?

Je nach Anwendungszweck macht screen da schon Sinn.
z.B. kriegt das Script sein einenes Terminal, Session etc.

wäre deshalb eher mit Konstrukten wie "nohup setsid scriptname & 
</dev/null >logfile 2>&1" vergleichbar. (oder mit Hilfsprogrammen wie 
"start-stop-daemon", wenn deine Linux-Geschmackrichtung das mitbringt)

Und, gerade während der Entwicklung hilfreich: du kannst interaktiv die 
Ausgabe des Scripts ansehen (ohne "tail -f logfile"), und ggfs direkt 
mit Ctrl-C intervenieren...

von Rahul D. (rahul)


Lesenswert?

um das Thema abzuschließen:
Seit Montag läuft die Kiste bei einem Bekannten im Keller.
Da das Script beim Booten gestartet wird, fällt "screen" raus, da es von 
einem Terminalfenster aus gestartet werden muss.
Allerdings funkioniert der Spaß problemlos mit "&".
Zum testen war "screen" ganz praktisch.

Danke für die Unterstützung

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.