天天看點

windows下cmd指令提示符下讓程式背景運作指令

如果你的程式需要在windows背景運作,并且是在cmd下啟動,那麼在執行的程式前加上start /b,比如start /b [程式名]。

windows下start指令的詳細參數及功能介紹如下:

啟動一個單獨的視窗運作指定的程式或指令。

start ["title"] [/d path] [/i] [/min] [/max] [/separate | /shared]

     [/low | /normal | /high | /realtime | /abovenormal | /belownormal]

     [/node <numa node>] [/affinity <hex affinity mask>] [/wait] [/b]

     [command/program] [parameters]

   "title"     在視窗标題欄中顯示的标題。

   path        啟動目錄。

   b           啟動應用程式,但不建立新視窗。應用程式已忽略 ^c 處理。

               除非應用程式啟用 ^c 處理,否則 ^break 是唯一可以中斷

               該應用程式的方式。

   i           新的環境将是傳遞給 cmd.exe 的原始環境,而不是目前環境。                

   min         以最小化方式啟動視窗。

   max         以最大化方式啟動視窗。

   separate    在單獨的記憶體空間中啟動 16 位 windows 程式。

   shared      在共享記憶體空間中啟動 16 位 windows 程式。

   low         在 idle 優先級類中啟動應用程式。

   normal      在 normal 優先級類中啟動應用程式。

   high        在 high 優先級類中啟動應用程式。

   realtime    在 realtime 優先級類中啟動應用程式。

   abovenormal 在 abovenormal 優先級類中啟動應用程式。

   belownormal 在 belownormal 優先級類中啟動應用程式。

   node        将首選非一緻性記憶體結構 (numa) 節點指定為十進制整數。

   affinity    将處理器關聯掩碼指定為十六進制數字。程序被限制在這些

               處理器上運作。

               當 /affinity 和 /node 結合時,會對關聯掩碼進行不同的解釋。

               指定關聯掩碼,正如 numa 節點的處理器掩碼正确移動到零位

               起始位置一樣。程序被限制在指定關聯掩碼和 numa 節點之間的

               那些通用處理器上運作。如果沒有通用處理器,則程序被限制在

               指定的 numa 節點上運作。

   wait        啟動應用程式并等待它終止。

   command/program

               如果它是内部 cmd 指令或批檔案,則該指令處理器是使用

               cmd.exe 的 /k 開關運作的。這表示運作該指令之後,該視窗

               将仍然存在。

               如果它不是内部 cmd 指令或批檔案,則它就是一個程式,并将

               作為一個視窗化應用程式或控制台應用程式運作。

   parameters  這些是傳遞給 command/program 的參數。

注意: 在 64 位平台上不支援 separate 和 shared 選項。

通過指定 /node,可按照利用 numa 系統中的記憶體區域的方式建立程序。例如,

可以建立兩個完全通過共享記憶體互相通信的程序以共享相同的首選 numa 節點,

進而最大限度地減少記憶體延遲。如有可能,它們即會配置設定來自相同 numa 節點的

記憶體,并且會在指定節點之外的處理器上自由運作。

   啟動 /node 1 application1.exe

   啟動 /node 1 application2.exe

這兩個程序可被進一步限制在相同 numa 節點内的指定處理器上運作。在以下

示例中, application1 在節點的兩個低順序處理器上運作,而 application2

在該節點的其後兩個處理器上運作。該示例假定指定節點至少具有四個邏輯

處理器。請注意,節點号可更改為該計算機的任何有效節點号,而無需更改關聯

掩碼。

   啟動 /node 1 /affinity 0x3 application1.exe

   啟動 /node 1 /affinity 0xc application2.exe

如果指令擴充被啟用,通過指令行或 start 指令的外部指令

調用會如下改變:

将檔案名作為指令鍵入,非可執行檔案可以通過檔案關聯調用。

   (例如,word.doc 會調用跟 .doc 檔案擴充名關聯的應用程式)。

   關于如何從指令腳本内部建立這些關聯,請參閱 assoc 和

    ftype 指令。

執行的應用程式是 32-位 gui 應用程式時,cmd.exe 不等應用

   程式終止就傳回指令提示符。如果在指令腳本内執行,該新行為

   則不會發生。

如果執行的指令行的第一個符号是不帶擴充名或路徑修飾符的

   字元串 "cmd","cmd" 會被 comspec 變量的數值所替換。這

   防止從目前目錄提取 cmd.exe。

如果執行的指令行的第一個符号沒有擴充名,cmd.exe 會使用

   pathext 環境變量的數值來決定要以什麼順序尋找哪些擴充

   名。pathext 變量的預設值是:

       .com;.exe;.bat;.cmd

   請注意,該文法跟 path 變量的一樣,分号隔開不同的元素。

查找可執行檔案時,如果沒有相配的擴充名,看一看該名稱是否

與目錄名相配。如果确實如此,start 會在那個路徑上調用

explorer。如果從指令行執行,則等同于對那個路徑作 cd /d。

繼續閱讀