Angenommen, ich habe ein einfaches Python-Skript, das ein Elixir/Erlang-Skript mit dem subprocess
-Modul ausführt.Elixir/Erlang: Kommunikation mit externem Prozess
Nehmen wir an, die Betriebssystem-PID des Python-Skripts ist P1
und die des ausgeführten Elixier/Erlang-Skripts ist P2
.
Ich möchte wissen, ob die Kommunikation zwischen P1
und P2
möglich ist. Genauer gesagt, schreibt P1
etwas zum stdin
von P2
und P2
liest die empfangene Eingabe von P1
und schreibt eine entsprechende Ausgabe an seinen eigenen stdout
und P1
liest aus den stdout
von P2
und wieder schreibt etwas auf die stdin
von P2
und so weiter.
Ich weiß, dass der andere Weg möglich ist, d. H., Externen Prozess von innen Elixir/Erlang Laichen und dann mit dem Prozess kommunizieren. Jede Hilfe geschätzt, danke.
Sicher, warum nicht? Lies einfach von Elixir mit 'IO.gets' (oder ähnlich) und schreibe mit' IO.puts' (oder ähnlich) und mache das Umgekehrte in Python (http://stackoverflow.com/questions/8475290/how-do-i -write-zu-python-subprozess-stdin)? Hast du das versucht? – Dogbert
Danke! Was wäre, wenn "P1" auch ein Elixierprozess wäre? – stark
Sie können Ports anstelle von Subprozess verwenden. https://hexdocs.pm/elixir/Port.html – Dogbert