Sous Linux, vous pouvez faire ceci:
$ php blah.php> certains.log &
pour fonctionner blah.php
en arrière-plan. C'est la même chose que Ctrl+ zpuis la bg
commande.
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.php
en arrière-plan. C'est la même chose que Ctrl+ zpuis la bg
commande.
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 start
en 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 /B
commutateur, 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 start
en 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 MyFile
par le fichier que vous souhaitez exécuter en arrière-plan.
start
commande. Il crée une chose intermédiaire qui exécute la commande de l'utilisateur, puis utilise la start
commande 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 start
directement? (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.Run
ligne du script?