fg、bg、jobs、&、ctrl + z都是跟系統(tǒng)任務有關的,雖然現(xiàn)在基本上不怎么需要用到這些命令,但學會了也是很實用的
一。& 最經(jīng)常被用到
這個用在一個命令的最后,可以把這個命令放到后臺執(zhí)行
二。ctrl + z
可以將一個正在前臺執(zhí)行的命令放到后臺,并且暫停
三。jobs
查看當前有多少在后臺運行的命令
四。fg
將后臺中的命令調(diào)至前臺繼續(xù)運行
如果后臺中有多個命令,可以用 fg %jobnumber將選中的命令調(diào)出,%jobnumber是通過jobs命令查到的后臺正在執(zhí)行的命令的序號(不是pid)
五。bg
將一個在后臺暫停的命令,變成繼續(xù)執(zhí)行
如果后臺中有多個命令,可以用bg%20%jobnumber將選中的命令調(diào)出,%jobnumber是通過jobs命令查到的后臺正在執(zhí)行的命令的序號(不是pid)
Linux下使用Shell命令控制任務Jobs執(zhí)行
下列命令可以用來操縱進程任務:
ps%20列出系統(tǒng)中正在運行的進程;
kill%20發(fā)送信號給一個或多個進程(經(jīng)常用來殺死一個進程);
chkdsk工具是系統(tǒng)檢查磁盤當前狀態(tài)的一個命令,只要啟動它就可以顯示磁盤狀態(tài)、內(nèi)存狀態(tài)和指定路徑下指定文件的不連續(xù)數(shù)目。一般來說,如果一個activity組件還在顯示啟動窗口的過程中,又有另外一個activity組件被啟動,并且這個activity組件也要求顯示啟動窗口,那么當前正在顯示啟動窗口的activity組件就會跳過之前為它所準備的切換操作linux命令,這是為了讓后面那個啟動的activity組件盡快地顯示出來。單擊“terminate”鏈接后,當前在運行的抓取任務就會立即終止,并同樣將任務放置到“jobs”面版上的“completed%20jobs”列表中,只不過在“status”上,它會顯示“finished%20-%20ended%20by%20operator”這樣的提示。
從當前的shell環(huán)境已知的列表中刪除任務的進程標識;
bg%20將進程搬到后臺運行(Background);
fg 將進程搬到前臺運行(Foreground);
將job轉移到后臺運行
如果你經(jīng)常在X圖形下工作,你可能有這樣的經(jīng)歷:通過終端命令運行一個GUI程序,GUI界面出來了,但是你的終端還停留在原地,你不能在shell中繼續(xù)執(zhí)行其他命令了,除非將GUI程序關掉。
運行“終端”程序,執(zhí)行以下命令:。 如果我們在命令之后加上一個“&”,那行進程將會放在后臺執(zhí)行,我們?nèi)匀豢梢詧?zhí)行新的命令。以下是恢復默認大小的命令(運行“終端”程序,執(zhí)行以下命令):。
$xmms &
這樣打開xmms后,終端的提示又回來了。現(xiàn)在xmms在后臺運行著呢;但萬一你運行程序時忘記使用“&”了,又不想重新執(zhí)行;你可以先使用ctrl+z掛起程序,然后敲入bg命令,這樣程序就在后臺繼續(xù)運行了。
概念:當前任務
如果后臺的任務號有2個,[1],[2];如果當?shù)谝粋后臺任務順利執(zhí)行完畢,第二個后臺任務還在執(zhí)行中時,當前任務便會自動變成后臺任務號碼“[2]”的后臺任務。所以可以得出一點,即當前任務是會變動的。當用戶輸入“fg”、“bg”和“stop”等命令時,如果不加任何引號,則所變動的均是當前任務。
察看jobs
使用jobs或ps命令可以察看正在執(zhí)行的jobs。
jobs命令執(zhí)行的結果,+表示是一個當前的作業(yè),減號表是是一個當前作業(yè)之后的一個作業(yè),jobs -l選項可顯示所有任務的PID,jobs的狀態(tài)可以是running,
上下文切換(context switching): 多任務系統(tǒng)中,上下文切換是指cpu的控制權由運行任務轉移到另外一個就緒任務時所發(fā)生的事件,當前運行任務轉為就緒(或者掛起、刪除)狀態(tài),另一個被選定的就緒任務成為當前任務。createdirectoryw 創(chuàng)建一個新目錄 createfilew 打開或創(chuàng)建以下對象,并返回可訪問的句柄:控制臺,通信資源,目錄(只讀打開),磁盤驅動器,文件,郵槽,管道 createthread 在主線程的基礎上創(chuàng)建一個新線程 deletefilew 刪除指定文件 exitprocess 終止一個進程 findclose 關閉一個搜索句柄 findfirstfilew 根據(jù)文件名查找文件,利用在歷遍指定目錄的所有文件 findnextfilew 根據(jù)文件名查找文件,利用在歷遍指定目錄的所有文件 getcommandlinew 獲得指向當前命令行緩沖區(qū)的一個指針 getcurrentprocess 獲取當前進程的一個偽句柄 getcurrentthread 獲取當前線程句柄 getfilesize 獲得該文件的大小 getmodulehandlew 獲取一個應用程序或動態(tài)鏈接庫的模塊句柄 getprocessheap 返回調(diào)用進程的默認堆句柄 getshortpathnamew 獲取指定路徑的短路徑形式 heapalloc 指定的堆上分配內(nèi)存,并且分配后的內(nèi)存不可移動 heapfree 釋放堆內(nèi)存 isdebuggerpresent 確定調(diào)用進程是否由用戶模式的調(diào)試器調(diào)試 mapviewoffile 負責把文件數(shù)據(jù)映射到進程的地址空間 readfile 從文件中讀出數(shù)據(jù) setfilepointer 說明在一個文件中設置當前的讀取位置 writefile 將數(shù)據(jù)寫入文件。查看系統(tǒng)中運行的進程和下掛模塊,可以對進程進行終止、掛起、刪除、禁止執(zhí)行(ifeo原理)等操作,對模塊進行卸載、刪除、重命名等操作。