У 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рядок у сценарії?