In Linux können Sie dies tun:
$ php blah.php> some.log &
blah.php
im Hintergrund laufen . Dies ist das gleiche wie Ctrl+ zdann der bg
Befehl.
Gibt es eine Entsprechung von einem / beiden für die Windows-Eingabeaufforderung?
In Linux können Sie dies tun:
$ php blah.php> some.log &
blah.php
im Hintergrund laufen . Dies ist das gleiche wie Ctrl+ zdann der bg
Befehl.
Gibt es eine Entsprechung von einem / beiden für die Windows-Eingabeaufforderung?
Antworten:
Windows verfügt über eine ähnliche Funktionalität wie Linux &
, um Prozesse so zu starten, dass sie Ihre Konsole nicht übernehmen. Anstelle eines Befehlszeilen-Flags wird jedoch ein Befehlspräfix verwendet.
Führen Sie einfach Ihren Befehl mit start
davor aus:
C:\> start myprog.exe
Es funktioniert auch mit Befehlen, nicht nur mit ausführbaren Dateien:
C:\> start dir
Dies startet ein neues Konsolenfenster und führt den darin enthaltenen Befehl aus.
Wenn beim Ausführen des Befehls kein neues Konsolenfenster angezeigt werden soll, verwenden Sie den /B
Schalter wie folgt:
C:\> start /B myprog.exe
Sie können verschiedene andere Optionen angeben, um die Ausführung des Befehls zu konfigurieren. Sie können sie herausfinden, indem Sie die Hilfe lesen, start
indem Sie verwenden start /?
.
Dies kann eine Datei im Hintergrund über die Eingabeaufforderung oder eine Batchdatei ausführen
@Echo off
Echo Set WshShell = CreateObject("WScript.Shell") >>%temp%\ghost.vbs
Echo WshShell.Run chr(34) ^& "MyFile" ^& Chr(34), 0 >>%temp%\ghost.vbs
Echo Set WshShell = Nothing >>%temp%\ghost.vbs
start %temp%\ghost.vbs
timeout /t 1 >nul
del %temp%\ghost.vbs
Ersetzen MyFile
Sie nun die Datei, die Sie im Hintergrund ausführen möchten.
start
Befehl verwendet. Es erstellt ein Zwischenprodukt, das den Befehl des Benutzers ausführt, und start
startet dann das Zwischenprodukt mit dem Befehl. Es ist also eine Rube Goldberg-Maschine . Wie ist das besser als die andere Antwort, die eine start
direkte Verwendung vorschlägt ? (3) Die Frage zeigt die E / A-Umleitung ( > some.log
). Wie würde der Benutzer die E / A-Umleitung mit dieser Antwort durchführen? Stellen Sie es in die Befehlszeile oder fügen Sie es in die WshShell.Run
Zeile des Skripts ein?