В Linux вы можете сделать это:
$ php blah.php> some.log &
запустить blah.php
в фоновом режиме. Это то же самое, что Ctrl+z, то команда bg
.
Существует ли эквивалент одного или обоих для командной строки Windows?
В Linux вы можете сделать это:
$ php blah.php> some.log &
запустить blah.php
в фоновом режиме. Это то же самое, что Ctrl+z, то команда bg
.
Существует ли эквивалент одного или обоих для командной строки Windows?
Windows действительно имеет функциональность, аналогичную Linux &
, для запуска процессов таким образом, чтобы они не захватывали вашу консоль. Вместо флага командной строки, однако, это префикс команды.
Просто запустите вашу команду с start
перед ней, например:C:\> start myprog.exe
Он также работает с командами, а не только с исполняемыми файлами:C:\> start dir
Это запустит новое окно консоли и запустит команду внутри него.
Если вы не хотите, чтобы при запуске команды появлялось новое окно консоли, используйте ключ /B
, например:C:\> start /B myprog.exe
Есть несколько других параметров, которые вы можете указать, чтобы настроить способ запуска команды. Вы можете понять их, прочитав справку для start
, используя start /?
,
Это может запустить файл в фоновом режиме из командной строки или командного файла
@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
Теперь замените MyFile
файлом, который вы хотите запустить в фоновом режиме.