網路農夫 --  Home 網路農夫 --  Home
網路農夫 --  Home
wait.....

3-7-1 前景工作(foreground jobs)

在一般正常的情況下,假設你在鍵入一道指令,如下:

1 % find /home -type f -size +50000c -print >& file.big

則你必須等待指令執行訊息出現、執行完畢,到下一個提語(prompt)出來之後,你才可以再繼續你的下一道指令鍵入。像這樣的操作模式,所執行的工作就是屬於前景工作。如果指令執行中途想要中斷(interrupt),可用 control-c 的方式中斷指令的執行。或用 control-z 來停止指令。如果你用中斷的方式,當然這個指令或程式的結果有可能是不正確的。像指令 find 的執行的方法是到檔案系統中去搜尋你所指定的某種形態的檔案,在執行過程中,你只能眼看著它佔用這個 shell,除了等它搜尋完畢外,你什麼事也別想再做了。還好指令 find 的執行時間通常還不會太久。但如果像 tar、find、cpio、...等等指令或某些應用軟體的程式,往往執行下來會花費一斷不算短的時間,有時說不定會等上數個小時甚至於數天。這麼長的時間你也要等嗎?別忘了 UNIX 系統可不是 MS-DOS,它是多工的。像這樣的工作便不應該讓它在前景工作中執行,而必需交給背景工作去執行。而前景工作則可繼續正常運作,不須做任何等待。

 

版本:Beta-2001-05 -- 網路農夫