In Linux puoi farlo:
$ php blah.php> some.log &
per eseguire blah.php
in background. Questo è uguale a Ctrl+ zquindi al bg
comando.
Esiste un equivalente di uno / entrambi per il prompt dei comandi di Windows?
In Linux puoi farlo:
$ php blah.php> some.log &
per eseguire blah.php
in background. Questo è uguale a Ctrl+ zquindi al bg
comando.
Esiste un equivalente di uno / entrambi per il prompt dei comandi di Windows?
Risposte:
Windows ha una funzionalità simile a quella di Linux &
, per avviare processi in modo tale da non assumere il controllo della tua console. Invece di un flag da riga di comando, tuttavia, è un prefisso di comando.
Basta eseguire il comando con start
davanti, come tale:
C:\> start myprog.exe
Funziona anche con i comandi, non solo con gli eseguibili:
C:\> start dir
Ciò avvierà una nuova finestra della console ed eseguirà il comando al suo interno.
Se non si desidera che venga visualizzata una nuova finestra della console durante l'esecuzione del comando, utilizzare l' /B
opzione, in questo modo:
C:\> start /B myprog.exe
Esistono diverse altre opzioni che è possibile specificare per configurare come eseguire il comando. Puoi capirli leggendo l'aiuto per start
usando start /?
.
Questo può eseguire un file in background dal prompt dei comandi o un file batch
@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
Ora sostituisci MyFile
con il file che desideri eseguire in background.
start
comando. Crea una cosa intermedia che esegue il comando dell'utente e quindi utilizza il start
comando per avviare la cosa intermedia. Quindi è una macchina Rube Goldberg . In che modo è meglio dell'altra risposta, che suggerisce di usare start
direttamente? (3) La domanda mostra il reindirizzamento I / O ( > some.log
). In che modo l'utente farebbe il reindirizzamento I / O con questa risposta? Inserirlo nella riga di comando o incorporarlo nella WshShell.Run
riga nello script?