У 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
файл, який ви хочете запустити у фоновому режимі.
start
команда. Він створює проміжну річ, яка виконує команду користувача, а потім використовує start
команду для запуску проміжної речі. Так це машина Руба Голдберга . Чим це краще, ніж інша відповідь, яка пропонує використовувати start
безпосередньо? (3) Питання показує перенаправлення вводу / виводу ( > some.log
). Як користувач зробив би переадресацію вводу / виводу з цією відповіддю? Помістіть його в командний рядок чи вбудуйте його в WshShell.Run
рядок у сценарії?