Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> Systémy >> unix >> .

Ako by ste spustili príkaz na shell bez vytvorenia nového podriadeného procesu?

Existuje niekoľko spôsobov, ako spustiť príkaz na shell bez vytvorenia nového podriadeného procesu. Tu je niekoľko bežných prístupov:

- Použite modul `subprocess` :Modul `subprocess` v Pythone poskytuje množstvo funkcií na spúšťanie príkazov shellu a interakciu s ich výstupom. Jedným z bežných spôsobov, ako spustiť príkaz bez vytvorenia nového procesu, je použiť funkciu `subprocess.run()` s argumentom `shell=True`. Napríklad:

```pytón

podproces importu

Spustite príkaz bez vytvorenia nového procesu

output =subprocess.run(["ls", "-l"], capture_output=True, shell=True).stdout

Vytlačte výstup

tlač (výstup)

```

- Použite modul `os` :Modul `os` v Pythone tiež poskytuje niekoľko funkcií na interakciu s operačným systémom, vrátane možnosti spúšťať príkazy shellu. Ak chcete spustiť príkaz bez vytvorenia nového procesu, môžete použiť funkciu `os.system()`. Napríklad:

```pytón

import os

Spustite príkaz bez vytvorenia nového procesu

os.system("ls -l")

```

- Použite kontextového manažéra prostredia :Python má tiež kontextového manažéra s názvom `subprocess.Popen`, ktorý vám umožňuje spúšťať príkazy bez vytvárania nového procesu. Kontextový manažér sa postará o uzavretie procesu, keď s ním skončíte. Napríklad:

```pytón

podproces importu

Spustite príkaz bez vytvorenia nového procesu

s podprocesom.Popen(["ls", "-l"], stdout=podproces.PIPE, universal_newlines=True) ako procesom:

# Prečítajte si výstup z príkazu

výstup =process.stdout.read()

Vytlačte výstup

tlač (výstup)

```

Každý z týchto prístupov má svoje výhody a nevýhody a najlepšia voľba pre váš konkrétny prípad použitia bude závisieť od vašich požiadaviek a preferencií.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené