In Linux puoi farlo:
$ php blah.php> some.log &
per eseguire blah.phpin background. Questo è uguale a Ctrl+ zquindi al bgcomando.
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.phpin background. Questo è uguale a Ctrl+ zquindi al bgcomando.
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 startdavanti, 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' /Bopzione, 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 startusando 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 MyFilecon il file che desideri eseguire in background.
startcomando. Crea una cosa intermedia che esegue il comando dell'utente e quindi utilizza il startcomando per avviare la cosa intermedia. Quindi è una macchina Rube Goldberg . In che modo è meglio dell'altra risposta, che suggerisce di usare startdirettamente? (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.Runriga nello script?