ใน 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
มีตัวเลือกอื่น ๆ อีกมากมายที่คุณสามารถระบุเพื่อกำหนดวิธีเรียกใช้คำสั่ง คุณสามารถคิดออกโดยการอ่านความช่วยเหลือสำหรับโดยใช้startstart /?
สิ่งนี้สามารถเรียกใช้ไฟล์ในเบื้องหลังจากพรอมต์คำสั่งหรือไฟล์แบตช์
@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) คำถามแสดงการเปลี่ยนเส้นทาง I / O ( > some.log) ผู้ใช้จะเปลี่ยนเส้นทาง I / O กับคำตอบนี้ได้อย่างไร วางไว้ในบรรทัดคำสั่งหรือสร้างลงในWshShell.Runบรรทัดในสคริปต์หรือไม่