Powershell 'Start-Job' versus 'Start-Prozess' [geschlossen]

8

Ich bin etwas verwirrt über den Unterschied zwischen Start-Job und Start-Process in PowerShell. Ich weiß, dass Start-Job im Hintergrund läuft, aber ich frage mich, ob die Dinge mit Start-Job anders laufen als mit Start-Process und ob es andere Implikationen gibt, eine davon im Gegensatz zu der anderen zu verwenden. Wann sollte man einen über den anderen setzen, und gibt es Vorteile, die sich gegenüber dem anderen abzeichnen?

    
BlackHatSamurai 30.07.2013, 20:51
quelle

1 Antwort

14

Start-Job startet einen Hintergrundjob und erstellt ein Jobobjekt, das Sie zum Überwachen, Abfragen und Interagieren mit dem Job mithilfe der Cmdlets Get-Job , Receive-Job , Warte-Job , Stop-Job und Remove-Job . Sie werden keine interaktiven Fenster- oder Konsolenausgaben sehen, bis Sie das Jobobjekt mit Receive-Job abgefragt haben. Das bedeutet "Hintergrundjob" - dass es ausgeführt wird, aber nicht mit der Anmeldesitzung interagiert. Wenn jedoch eine Ausgabe vorhanden ist, wird diese vom Jobobjekt erfasst und Sie können sie mit Empfangsjob abrufen. Sie können im Allgemeinen feststellen, ob Daten zu empfangen sind, indem Sie die Eigenschaft HasMoreData des Jobobjekts überprüfen, aber seien Sie vorsichtig, das ist in PowerShell 2 fehlerhaft - denken Sie daran? "HasMoreData" ist auch nach dem Receive-Job wahr

Start-Prozess startet einen Prozess, der interaktiv ausgeführt wird.

    
Adi Inbar 30.07.2013, 21:04
quelle

Tags und Links