Folgendes Problem: Ich möchte ein Shell-Programm aufrufen und dann mit dem Programm kommunizieren.
Wenn ich einen Compiler aufrufe ("gcc hworld.c") liefert der eine Text-Ausgabe und beendet sich dann. Soweit ist das auch halbwegs nachvollziehbar.
Nun möchte ich mit einem interaktiven Shell-Programm kommunizieren können, zum Beispiel "mysql" oder "python". Ich muss also als aufrufender Task solange Ausgaben des gerufenden Programms lesen, bis dieses entweder aufhört zu senden oder eine erwartete Ausgabe kommt.
Wenn ich also python starte, erzählt es mir etwas ...
Code: Alles auswählen
xin@dualpower:~/xsd/apps/xbuild$ python3
Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Code: Alles auswählen
>>> print (1+2)
3
>>>
Und das idealerweise für Posix und Windows.
Mein Problem dabei ist, dass ich nicht gut mitbekomme, wenn der Task nichts mehr sendet. Befehle wie
Code: Alles auswählen
>>> print (">>>")
>>>
>>>
Hat da jemand schon Erfahrungen gesammelt?