systembefehl absetzen und vergessen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
chewbo
User
Beiträge: 2
Registriert: Samstag 1. September 2012, 11:58

Hallo
ich suche eine Möglichkeit ein Systembefehlt bsp. wget (linux) abzusetzen und danach sozusagen zu vergessen. Am besten wäre es wenn der in einem eigenen Prozess
läuft. Die Ausgabe möchte ich nach Möglichkeit auch nicht sehen.
Es gibt ja verschiedenen möglichkeiten wie
subprocess
system
thread

Mir ist aber nicht klar was die beste Option für mich ist.

Danke im Vorraus
chewbo
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Willkommen im Forum!

`subprocess.Popen` ist dein Freund: http://docs.python.org/library/subprocess.html
`thread` hat hiermit nichts zu tun und `os.system` solltest du vergessen.
chewbo
User
Beiträge: 2
Registriert: Samstag 1. September 2012, 11:58

Danke für due schnelle Antwort, da habe ich ja das richtige gewählt. Jedoch ist mir nicht klar wie ich die Ausgabe umleite. Geht das nach /dev/null?
BlackJack

@chewbo: Wenn es plattformunabhängig sein darf, dann ist `os.devnull` der Name einer Datei die man zum Schreiben öffnen kann und wo das geschriebene einfach „verschwindet”.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Und noch alles zusammen:

Code: Alles auswählen

import os, subprocess
subprocess.Popen(['ls', '/'], stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'), close_fds=True)
Antworten