GNU/Linux >> Znalost Linux >  >> Linux

Návratová hodnota x =os.system(..)

os.system('command') vrací 16 bitové číslo, které prvních 8 bitů zleva (lsb) hovoří o signálu použitém os k uzavření příkazu, dalších 8 bitů hovoří o návratovém kódu příkazu.

Další podrobnosti naleznete v mé odpovědi v části Jaká je návratová hodnota os.system() v Pythonu?


os.system() vrátí (zakódovanou) hodnotu ukončení procesu. 0 znamená úspěch:

V Unixu je návratová hodnota stav ukončení procesu zakódovaný ve formátu určeném pro wait() . Všimněte si, že POSIX nespecifikuje význam návratové hodnoty funkce C system(), takže návratová hodnota funkce Python je závislá na systému.

Výstup, který vidíte, je zapsán do stdout , takže vaši konzoli nebo terminál, a nevrací se volajícímu Pythonu.

Pokud jste chtěli zachytit stdout , použijte subprocess.check_output() místo toho:

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

Linux
  1. Jak získat návratovou hodnotu z CHILD PROCESS?

  2. Co vrátí malloc(0)?

  3. pthread_exit vs. návrat

  1. Maximální hodnota ID procesu?

  2. Seřadit podle hexadecimální hodnoty?

  3. Vrácená hodnota funkce časového limitu

  1. Vrátí System.currentTimeMillis vždy hodnotu >=předchozí volání?

  2. Proč hlavní funkce bez příkazu return vrací hodnotu 12?

  3. návratová hodnota z python skriptu do shell skriptu