Sous Linux, vous pouvez faire ceci:
$ php blah.php> certains.log &
pour fonctionner blah.phpen arrière-plan. C'est la même chose que Ctrl+ zpuis la bgcommande.
Existe-t-il un équivalent de / des deux pour l'invite de commande Windows?
Sous Linux, vous pouvez faire ceci:
$ php blah.php> certains.log &
pour fonctionner blah.phpen arrière-plan. C'est la même chose que Ctrl+ zpuis la bgcommande.
Existe-t-il un équivalent de / des deux pour l'invite de commande Windows?
Réponses:
Windows a une fonctionnalité similaire à celle 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, c'est un préfixe de commande.
Exécutez simplement votre commande avec starten face d'elle, comme telle:
C:\> start myprog.exe
Il fonctionne également avec des commandes, pas seulement avec des exécutables:
C:\> start dir
Cela ouvrira une nouvelle fenêtre de console et exécutera la commande à l'intérieur.
Si vous ne voulez pas qu'une nouvelle fenêtre de console apparaisse lors de l'exécution de la commande, utilisez le /Bcommutateur, comme ceci:
C:\> start /B myprog.exe
Il existe plusieurs autres options que vous pouvez spécifier pour configurer la façon d'exécuter la commande. Vous pouvez les comprendre en lisant l'aide pour starten utilisant start /?.
Cela peut exécuter un fichier en arrière-plan à partir de l'invite de commande ou 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 MyFilepar le fichier que vous souhaitez exécuter en arrière-plan.
startcommande. Il crée une chose intermédiaire qui exécute la commande de l'utilisateur, puis utilise la startcommande pour démarrer la chose intermédiaire. C'est donc une machine Rube Goldberg . Comment est-ce mieux que l'autre réponse, qui suggère d'utiliser startdirectement? (3) La question montre la redirection d'E / S ( > some.log). Comment l'utilisateur ferait-il la redirection d'E / S avec cette réponse? Mettez-le sur la ligne de commande, ou intégrez-le à la WshShell.Runligne du script?