W systemie Linux możesz to zrobić:
$ php blah.php> some.log &
działać blah.php
w tle. Jest to to samo, co Ctrl+, za następnie bg
polecenie.
Czy istnieje odpowiednik jednego lub obu dla wiersza polecenia systemu Windows?
W systemie Linux możesz to zrobić:
$ php blah.php> some.log &
działać blah.php
w tle. Jest to to samo, co Ctrl+, za następnie bg
polecenie.
Czy istnieje odpowiednik jednego lub obu dla wiersza polecenia systemu Windows?
Odpowiedzi:
System Windows ma podobną funkcjonalność jak Linux &
, aby uruchamiać procesy tak, aby nie przejmowały konsoli. Zamiast flagi wiersza polecenia jest to jednak przedrostek polecenia.
Po prostu uruchom polecenie start
przed nim, takie jak:
C:\> start myprog.exe
Działa również z poleceniami, a nie tylko plikami wykonywalnymi:
C:\> start dir
Spowoduje to uruchomienie nowego okna konsoli i uruchomienie w nim polecenia.
Jeśli nie chcesz, aby po uruchomieniu polecenia pojawiło się nowe okno konsoli, użyj /B
przełącznika w następujący sposób:
C:\> start /B myprog.exe
Istnieje kilka innych opcji, które można określić, aby skonfigurować sposób uruchamiania polecenia. Możesz je rozwiązać, czytając pomoc za start
pomocą start /?
.
Może to uruchomić plik w tle z wiersza polecenia lub plik wsadowy
@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
Teraz zamień MyFile
na plik, który chcesz uruchomić w tle.
start
polecenia. Tworzy pośrednią rzecz, która uruchamia polecenie użytkownika, a następnie używa start
polecenia do uruchomienia pośredniej rzeczy. Więc to jest maszyna Rube Goldberg . Jak to jest lepsze od drugiej odpowiedzi, która sugeruje start
bezpośrednie użycie ? (3) Pytanie pokazuje przekierowanie I / O ( > some.log
). W jaki sposób użytkownik mógłby przekierować We / Wy z tą odpowiedzią? Umieścić go w wierszu polecenia lub wbudować w WshShell.Run
wiersz skryptu?