Trong Linux, bạn có thể làm điều này:
$ php blah.php> some.log &
để chạy blah.php
trong nền. Điều này giống như Ctrl+ zsau đó là bg
lệnh.
Có tương đương với một hoặc cả hai cho Dấu nhắc lệnh của Windows không?
Trong Linux, bạn có thể làm điều này:
$ php blah.php> some.log &
để chạy blah.php
trong nền. Điều này giống như Ctrl+ zsau đó là bg
lệnh.
Có tương đương với một hoặc cả hai cho Dấu nhắc lệnh của Windows không?
Câu trả lời:
Windows có chức năng tương tự như của Linux &
, để khởi chạy các quy trình sao cho chúng không chiếm quyền điều khiển của bạn. Tuy nhiên, thay vì cờ dòng lệnh, đó là tiền tố lệnh.
Đơn giản chỉ cần chạy lệnh của bạn với start
phía trước của nó, như vậy:
C:\> start myprog.exe
Nó cũng hoạt động với các lệnh, không chỉ thực thi:
C:\> start dir
Điều này sẽ bắt đầu một cửa sổ giao diện điều khiển mới và chạy lệnh bên trong nó.
Nếu bạn không muốn có một cửa sổ giao diện điều khiển mới xuất hiện khi chạy lệnh, hãy sử dụng công /B
tắc, như thế này:
C:\> start /B myprog.exe
Có một số tùy chọn khác mà bạn có thể chỉ định để định cấu hình cách chạy lệnh. Bạn có thể tìm ra chúng bằng cách đọc trợ giúp start
bằng cách sử dụng start /?
.
Điều này có thể chạy một tệp trong nền từ dấu nhắc lệnh hoặc tệp bó
@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
Bây giờ thay thế MyFile
bằng các tập tin bạn muốn chạy trong nền.
start
lệnh. Nó tạo ra một thứ trung gian chạy lệnh của người dùng, và sau đó sử dụng start
lệnh để bắt đầu thứ trung gian. Vậy đó là máy Rube Goldberg . Làm thế nào là điều này tốt hơn so với câu trả lời khác, trong đó gợi ý sử dụng start
trực tiếp? (3) Câu hỏi cho thấy chuyển hướng I / O ( > some.log
). Làm thế nào người dùng sẽ chuyển hướng I / O với câu trả lời này? Đặt nó trên dòng lệnh, hoặc xây dựng nó thành WshShell.Run
dòng trong kịch bản?