Ich stehe fest, versucht zu sein, den Exit-Status eines Shell-Befehls zu erhalten, der von der Open3.popen3() - Methode von Ruby gestartet wurde.Wie kann ich den Beendigungsstatus von Ruby Open3.popen3() abrufen?
Hier ist mein Code:
require 'open3'
stdin, stdout, stderr = Open3.popen3('ls')
Als ich Zugang versuchen jetzt $?
es noch nil
ist
Ist es möglich, den Exit-Status, nachdem alle abzurufen?
Hinweise:
- ls
ist nicht der Befehl, den ich versuche, in meinem Skript zu verwenden. Ich habe das nur benutzt, um ein Beispiel zu geben. Mein Skript ist etwas komplexer und enthält Benutzereingaben, weshalb ich die Desinfektionsfunktion von Open3 benötige.
- Ich habe auch die Block-Variante von popen3 ausprobiert, aber das ist mir auch nicht gelungen.
wusste ich, dass OPEN3 auch einen Thread gibt, aber nicht wissen, wie ihre Exit-Code zu erhalten. 'wait_thr.value.success?' funktioniert wie ein Zauber, vielen Dank! – Griddo