機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
活用Linux操作系統(tǒng)的后臺(tái)任務(wù)
活用Linux操作系統(tǒng)的后臺(tái)任務(wù)
 更新時(shí)間:2009-8-12 16:53:44  點(diǎn)擊數(shù):0
【字體: 字體顏色
 

Linux作為一個(gè)多任務(wù)環(huán)境,允許用戶同時(shí)執(zhí)行多項(xiàng)任務(wù),例如查看系統(tǒng)情況、備份資料、編輯文件和打印文件等。

  對(duì)于耗時(shí)長(zhǎng)的任務(wù)不應(yīng)該讓它在前臺(tái)任務(wù)中執(zhí)行,而應(yīng)該交給后臺(tái)任務(wù)去執(zhí)行。這樣前臺(tái)任務(wù)可繼續(xù)正常運(yùn)作其它的操作,不用等待。示例如下:

  # find / -name testing &
  # fg

  如果想要讓上面例子中的任務(wù)轉(zhuǎn)為后臺(tái)執(zhí)行,就使用“& ”。不過(guò),由于是后臺(tái)執(zhí)行的,所以該程序的輸出并不會(huì)出現(xiàn)在屏幕上。當(dāng)用戶將數(shù)個(gè)任務(wù)放到后臺(tái)任務(wù)執(zhí)行時(shí),要如何去管理這些后臺(tái)任務(wù)?怎么知道后臺(tái)任務(wù)的執(zhí)行情況?如何終止或暫時(shí)停止后臺(tái)任務(wù)的執(zhí)行?下面就來(lái)逐一說(shuō)明。

  控制管理

  舉例如下:

  # du -a /user > user.data &
  [1] 237
  # find / -name core -type f -ls > core.data &
  [2] 238
 
  如上通過(guò)“&”命令將三個(gè)任務(wù)放到后臺(tái)中執(zhí)行。用命令“jobs -l”顯示后臺(tái)任務(wù)的執(zhí)行情況,舉例如下:

  #jobs -l
  [1] + 237 Running du -a /user > user.data
  [2] - 238 Running find / -name core -type f -ls > core.data
 
  首先介紹一個(gè)任務(wù)控制特有的名詞:當(dāng)前任務(wù)。上面的當(dāng)前任務(wù)是“du -a /user > user.data”,因?yàn)楹笈_(tái)任務(wù)號(hào)碼是“[1]”。如果當(dāng)?shù)谝粋(gè)后臺(tái)任務(wù)順利執(zhí)行完畢,第二個(gè)后臺(tái)任務(wù)還在執(zhí)行中時(shí),當(dāng)前任務(wù)便會(huì)自動(dòng)變成后臺(tái)任務(wù)號(hào)碼“[2]”的后臺(tái)任務(wù)。所以可以得出一點(diǎn),即當(dāng)前任務(wù)是會(huì)變動(dòng)的。當(dāng)用戶輸入“fg”、“bg”和“stop”等命令時(shí),如果不加任何引號(hào),則所變動(dòng)的均是當(dāng)前任務(wù)。 
終止后臺(tái)任務(wù)


  命令總是有出錯(cuò)的時(shí)候。當(dāng)出現(xiàn)這種情況時(shí),用戶可用Shell的內(nèi)置命令“kill”來(lái)結(jié)束任務(wù)。假如想要結(jié)束后臺(tái)任務(wù)“du -a /user > user.data”,可以用下面的命令:

  # kill 237
  # kill %1

  其中,237為第一個(gè)后臺(tái)任務(wù)的PID號(hào)碼。如果想終止第二個(gè)后臺(tái)任務(wù),以下兩種方法均可:

  方法一:#kill %2
  方法二:# kill %-

  執(zhí)行暫停任務(wù)

  Shell的內(nèi)置命令“stop”可用來(lái)暫停后臺(tái)任務(wù)。示例如下:

  stop % (停止第一個(gè)后臺(tái)任務(wù)的執(zhí)行)
  stop %n (停止第n個(gè)后臺(tái)任務(wù)的執(zhí)行)

  了解命令“stop”的使用后,便可將想要停止的后臺(tái)任務(wù)暫停執(zhí)行。例如用戶要將一個(gè)年度報(bào)表用 “nroff”命令整理,因?yàn)槲募渴铸嫶,所以將它放到后臺(tái)中執(zhí)行。命令如下:

  #nroff -ms moonth[1-12].acct > year2003.acct &
  [4] 240

  當(dāng)命令處理到一半的時(shí)候發(fā)覺(jué)moonth12.acct文件是舊的需要更新,這時(shí)用“jobs”命令查看到后臺(tái)任務(wù)“[4]”還在執(zhí)行中,但無(wú)法知道命令已經(jīng)處理到哪一個(gè)月份。此時(shí)可輸入下面的命令,將后臺(tái)任務(wù)“[4]”先暫停執(zhí)行:

  #stop %4

  然后查看文件year2003.acct的尾部判斷是否已經(jīng)處理到12月。如果還沒(méi)有執(zhí)行到,那么可以將moonth12.acct文件的資料更新,再用命令“bg”將已被暫時(shí)停止執(zhí)行的后臺(tái)任務(wù)“[4]”接著繼續(xù)執(zhí)行下去。這樣不但可更正錯(cuò)誤文件,而且不用將已處理完的任務(wù)重新再執(zhí)行一次。

  方便之處

  前臺(tái)、后臺(tái)任務(wù)確實(shí)可以給日常操作帶來(lái)方便。因?yàn),我們(cè)谌粘2僮髦锌隙〞?huì)遇到同一時(shí)間要進(jìn)行多個(gè)操作。這個(gè)時(shí)候如果不使用前臺(tái)任務(wù)和后臺(tái)任務(wù),那么將要花費(fèi)很多時(shí)間。熟練運(yùn)用前臺(tái)和后臺(tái)任務(wù)能達(dá)到“時(shí)”半功倍。

  • 上一篇: Linux 網(wǎng)管 123 --- 第7章. 自訂的組態(tài)及管理內(nèi)容 -1.HTTP
  • 下一篇: 淺談Linux文件系統(tǒng)反刪除方法
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1