В Linux вы можете сделать это:
$ php blah.php> some.log &
бежать blah.php
в фоновом режиме. Это то же самое, что и команда Ctrl+ .zbg
Существует ли эквивалент одного или обоих для командной строки Windows?
В Linux вы можете сделать это:
$ php blah.php> some.log &
бежать blah.php
в фоновом режиме. Это то же самое, что и команда Ctrl+ .zbg
Существует ли эквивалент одного или обоих для командной строки 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
файл, который вы хотите запустить в фоновом режиме.
start
команду. Он создает промежуточную вещь, которая запускает команду пользователя, а затем использует start
команду для запуска промежуточной вещи. Так что это машина Рубе Голдберга . Чем это лучше, чем другой ответ, который предлагает использовать start
напрямую? (3) Вопрос показывает перенаправление ввода / вывода ( > some.log
). Как пользователь будет перенаправлять ввод-вывод с этим ответом? Поместить это в командную строку или встроить в WshShell.Run
строку в скрипте?