GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Rückgabewert von x =os.system(..)

os.system('command') gibt eine 16-Bit-Zahl zurück, wobei die ersten 8 Bits von links (lsb) über das Signal sprechen, das von os zum Schließen des Befehls verwendet wird, die nächsten 8 Bits sprechen über den Rückkehrcode des Befehls.

Weitere Einzelheiten finden Sie in meiner Antwort unter Was ist der Rückgabewert von os.system() in Python?


os.system() gibt den (kodierten) Prozess-Exit-Wert zurück. 0 bedeutet Erfolg:

Unter Unix ist der Rückgabewert der Exit-Status des Prozesses, der in dem für wait() angegebenen Format codiert ist . Beachten Sie, dass POSIX die Bedeutung des Rückgabewerts der C-Funktion system() nicht spezifiziert, daher ist der Rückgabewert der Python-Funktion systemabhängig.

Die Ausgabe, die Sie sehen, wird in stdout geschrieben , also Ihre Konsole oder Ihr Terminal, und nicht an den Python-Aufrufer zurückgegeben.

Wenn Sie stdout erfassen wollten , verwenden Sie subprocess.check_output() stattdessen:

x = subprocess.check_output(['whoami'])

Linux
  1. Wird System.currentTimeMillis immer einen Wert >=vorherige Aufrufe zurückgeben?

  2. Warum gibt eine main-Funktion ohne return-Anweisung den Wert 12 zurück?

  3. Rückgabewert vom Python-Skript zum Shell-Skript

  4. Kann eBPF den Rückgabewert oder die Parameter eines Systemaufrufs ändern?

  5. Rückgabewert der Timeout-Funktion

Fsck-Befehl unter Linux

Ist Linux ein Betriebssystem oder ein Kernel?

So identifizieren Sie das Betriebssystem mithilfe des TTL-Werts und des Ping-Befehls

Dokumentieren der Systemverfügbarkeit in Linux

Systemzeit

So aktualisieren Sie Ubuntu 18.04 auf Ubuntu 20.04