2016-10-12 2 views
1

Ich habe versucht, die folgenden ausgeführt wird, über Powershell in einem einzigen ps1-Skript in der Hoffnung auf zwei localservers auf verschiedene Ports zu öffnen - nur 8080 geöffnet:Eröffnung zwei webservers über eine ps1-Skript

cd "\\blah\Statistics\Reporting\D3\walkthroughs\letsMakeABarChart" 
python -m http.server 8080 

cd "\\foo\data_science\20161002a_d3js\examples" 
python -m http.server 8000 

Can Ich stelle es so ein, dass beide geöffnet werden?

Antwort

1

Die erste Python invoke wahrscheinlich nicht zurück so könnten Sie das Start-Job Cmdlets verwenden:

$job1 = start-job -scriptblock { 
    cd "\\blah\Statistics\Reporting\D3\walkthroughs\letsMakeABarChart" 
    python -m http.server 8080  
} 

$job2 = start-job -scriptblock { 
    cd "\\foo\data_science\20161002a_d3js\examples" 
    python -m http.server 8000 
} 

# Wait until both web servers terminates: 
Wait-Job -Job ($job1, $job2) 
+0

dank Martin - fast da - ps Fenster öffnet sich und beide cmds laufen, aber das ps Fenster verschwindet dann - also denke ich, dass beide Webserver für eine kurze Zeit laufen und dann sind sie weg! – whytheq

+0

Ah, vergessen Sie, dass Sie ein Skript verwenden, um es auszuführen. Ich habe meine Antwort bearbeitet. Verwenden Sie einfach das Cmdlet "Wait-Job", um zu warten, bis beide Jobs beendet sind. –

+0

lovely - denke, das ist schwieriger - beide Server laufen jetzt, aber ps gibt mir keine Rückmeldung über Stack-Traces etc ... können wir das ändern, damit ich noch ein Feedback bekomme? (nur ein "nice-to-have", wäre aber ein cooler Touch) – whytheq