2016-12-05 3 views
0

Ich habe zehn Python-Skripte im selben Verzeichnis. Wie man alle diese von der Befehlszeile laufen lässt, dass es im Hintergrund funktioniert?Wie können Sie mehrere Python-Skripts über die Befehlszeile ausführen?

verwende ich SSH Terminal Server CentOS verbinden und Python-Skript ausgeführt wird:

python index.py 

Aber wenn ich Client-Terminal SSH schließen, proccess

+0

können sie parallel laufen oder müssen einige nacheinander ausgeführt werden? (Beachten Sie, es gibt viele Möglichkeiten, dies zu erreichen, egal was ..) – Aaron

+2

Vielleicht betrachten 'nohup' oder' screen'? – JCVanHamme

Antwort

2

gestorben ist, kann Sie das & Befehl verwenden, um Dinge zu machen laufen im Hintergrund, und nohup so geht es beim Abmelden, wie

nohup python index.py & 

Wenn Sie dies mehrere Dinge ausführen möchten Art und Weise, ist es wahrscheinlich am einfachsten, nur ein Skript macht sie alle (mit einer Schale Ihrer Wahl) zu starten:

#!/bin/bash 
nohup python index1.py & 
nohup python index2.py & 
... 
+0

Muss ich "nohup" als Modul in Cent OS 7.2 installieren? – MisterPi

+0

Es ist ein POSIX-Befehl, er sollte schon da sein. – Iluvatar

1

Solange Sie mit den Skripten nicht interagieren müssen, sobald sie gestartet werden (und don ‚brauchen keinerlei stdout Druck) diese ziemlich leicht mit einem anderen python-Skript automatisiert werden, um das subprocess Modul:

for script in listofscripts: 
    #use subprocess.run() for python 3.x (this blocks until each script terminates) 
    subprocess.call(["python", script], *args) #use popen if you want non - blocking 

* args einen Link (es ist Färbung von Code überschrieben wurde highliting

auch der Hinweis: stdout/stderr Drucken ist möglich, nur mehr Arbeit ..

Verwandte Themen