Sous Linux, vous pouvez faire ceci:
$ php blah.php> some.log &
exécuter blah.php
en arrière-plan. C'est pareil que Ctrl+z puis la commande bg
.
Existe-t-il un équivalent de/des deux pour l'invite de commande Windows?
Windows a une fonctionnalité similaire à &
de Linux, pour lancer des processus tels qu'ils ne prennent pas le contrôle de votre console. Au lieu d'un indicateur de ligne de commande, il s'agit d'un préfixe de commande.
Exécutez simplement votre commande avec start
devant elle, en tant que telle: C:\> start myprog.exe
Cela fonctionne aussi avec les commandes, pas seulement les exécutables: C:\> start dir
Cela va démarrer une nouvelle fenêtre de console et exécuter la commande à l'intérieur de celle-ci.
Si vous ne voulez pas qu'une nouvelle fenêtre de console apparaisse lors de l'exécution de la commande, utilisez le commutateur /B
, comme ceci: C:\> start /B myprog.exe
Il existe plusieurs autres options que vous pouvez spécifier pour configurer le mode d’exécution de la commande. Vous pouvez les comprendre en lisant l'aide de start
en utilisant start /?
.
Cela peut exécuter un fichier en arrière-plan à partir de la commande Invite ou d'un fichier de commandes.
@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
Remplacez maintenant MyFile
par le fichier que vous souhaitez exécuter en arrière-plan.