Det er flere måter å kjøre en kommando på skallet uten å skape en ny underordnet prosess. Her er noen vanlige tilnærminger:
- Bruk "delprosess"-modulen :'Subprosess'-modulen i Python gir en rekke funksjoner for å kjøre skallkommandoer og samhandle med utdataene deres. En vanlig måte å kjøre en kommando uten å opprette en ny prosess er å bruke funksjonen `subprocess.run()` med argumentet `shell=True`. For eksempel:
``` python
import underprosess
Kjør en kommando uten å opprette en ny prosess
output =subprocess.run(["ls", "-l")], capture_output=True, shell=True).stdout
Skriv ut utdataene
print (output)
```
- Bruk `os`-modulen :`os`-modulen i Python gir også flere funksjoner for samhandling med operativsystemet, inkludert muligheten til å kjøre skallkommandoer. For å kjøre en kommando uten å opprette en ny prosess, kan du bruke funksjonen `os.system()`. For eksempel:
``` python
importere os
Kjør en kommando uten å opprette en ny prosess
os.system("ls -l")
```
- Bruk en shell-kontekstbehandling :Python har også en kontekstbehandling kalt `subprocess.Popen` som lar deg kjøre kommandoer uten å opprette en ny prosess. Kontekstansvarlig tar seg av å lukke prosessen når du er ferdig med den. For eksempel:
``` python
import underprosess
Kjør en kommando uten å opprette en ny prosess
med subprocess.Popen(["ls", "-l"), stdout=subprocess.PIPE, universal_newlines=True) som prosess:
# Les utdataene fra kommandoen
output =process.stdout.read()
Skriv ut utdataene
print (output)
```
Hver av disse tilnærmingene har sine egne fordeler og ulemper, og det beste valget for din spesifikke brukssituasjon vil avhenge av dine krav og preferanser.