Frage zu subprocess

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
maksimilian
User
Beiträge: 86
Registriert: Freitag 2. November 2018, 20:59

Hallo Ihr,

ist es möglich, mit subprocess ein Python-Skript aufzurufen und nicht auf dessen Beendigung zu warten ?

maksimilian
Benutzeravatar
Dennis89
User
Beiträge: 1555
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

kannst du dein Anliegen und Problem konkreter erklären?
Python-Programme werden normal nicht mit Subprocess aufgerufen. Du kannst sie doch importieren.

Aber es wäre erst mal interessant um was es den genau geht?

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Thants
User
Beiträge: 34
Registriert: Dienstag 1. Dezember 2020, 12:00

@maksimilian: Ja, wenn du den Prozess direkt mit Popen startest läuft er parallel zu deinem Programm und du müsstest explizit auf dessen Beendigung warten.
Benutzeravatar
noisefloor
User
Beiträge: 4194
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
ist es möglich, mit subprocess ein Python-Skript aufzurufen und nicht auf dessen Beendigung zu warten ?
Ja, aber es ist mit 98% Wahrscheinlichkeit nicht der richtige Weg. Nebenläufigkeit macht man normalerweise anders mit Python.

Gruß, noisefloor
maksimilian
User
Beiträge: 86
Registriert: Freitag 2. November 2018, 20:59

Thants hat geschrieben: Mittwoch 23. Dezember 2020, 03:07 @maksimilian: Ja, wenn du den Prozess direkt mit Popen startest läuft er parallel zu deinem Programm und du müsstest explizit auf dessen Beendigung warten.
Stimmt das ? Bei mir läuft Popen asynchron, d.h. auf Beendigung des Kindprozesses muss nicht gewartet werden.
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@maksimilian: Das ist doch kein Widerspruch. Ja das läuft asynchron. Und genau deswegen muss *explizit* auf das Ende gewartet werden. Man muss da extra Code für schreiben. Wenn es nicht asynchron wäre, müsste man nicht auf das Ende warten, dann wäre das im Aufruf ja schon enthalten.

Du kannst natürlich entscheiden Dir das saubere Aufräumen zu sparen, aber naja, das wäre dann halt unsauber, und kann je nach dem was man da konkret macht, auch irgendwann Probleme bereiten, oder man bekommt Probleme nicht mit wenn man den Rückgabecode ignoriert.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
hyle
User
Beiträge: 96
Registriert: Sonntag 22. Dezember 2019, 23:19
Wohnort: Leipzig

@maksimilian Geht es Dir noch um Deine Hühnerhütte und Interprozesskommunikation oder hast Du jetzt etwas anderes vor?
Alles was wir sind ist Sand im Wind Hoschi.
maksimilian
User
Beiträge: 86
Registriert: Freitag 2. November 2018, 20:59

__blackjack__ hat geschrieben: Dienstag 29. Dezember 2020, 19:48 @maksimilian: Das ist doch kein Widerspruch. Ja das läuft asynchron. Und genau deswegen muss *explizit* auf das Ende gewartet werden. Man muss da extra Code für schreiben. Wenn es nicht asynchron wäre, müsste man nicht auf das Ende warten, dann wäre das im Aufruf ja schon enthalten.

Du kannst natürlich entscheiden Dir das saubere Aufräumen zu sparen, aber naja, das wäre dann halt unsauber, und kann je nach dem was man da konkret macht, auch irgendwann Probleme bereiten, oder man bekommt Probleme nicht mit wenn man den Rückgabecode ignoriert.
Natürlich muss man situationsbedingt entscheiden. Ich kann zumindest eine Ausgabe nach stderr überprüfen.
maksimilian
User
Beiträge: 86
Registriert: Freitag 2. November 2018, 20:59

hyle hat geschrieben: Dienstag 29. Dezember 2020, 22:13 @maksimilian Geht es Dir noch um Deine Hühnerhütte und Interprozesskommunikation oder hast Du jetzt etwas anderes vor?
Hallo hyle. Wiedersehen macht Freude :) Es geht immer noch um die Hühnerhütte. Ich möchte sie aber zum Lernen "darüberhinaus" nutzen. Gemessen an der Funktionalität von Python ist das Projekt langweilig ;)
Antworten