1. 程式人生 > >linux下shell任務控制命令與快捷鍵jobs/fg/bg/ctrl+z/kill

linux下shell任務控制命令與快捷鍵jobs/fg/bg/ctrl+z/kill

Linux下使用Shell命令控制任務(Jobs)執行

下列命令可以用來操縱程序任務:
ps 列出系統中正在執行的程序
kill 傳送訊號給一個或多個程序(經常用來殺死一個程序)
jobs 列出屬於當前使用者的程序
bg 將程序搬到後臺執行(Background)
fg 將程序搬到前臺執行(Foreground)

將job轉移到後臺執行

如果你經常在X圖形下工作,你可能有這樣的經歷:通過終端命令執行一個GUI程式,GUI介面出來了,但是你的終端還停留在原地,你不能在shell中繼續執行其他命令了,除非將GUI程式關掉。

為了使程式執行後終端還能繼續接受命令,你可以將程序移到後臺執行,使用如下命令執行程式:  #假設要執行xmms
$xmms &


這樣開啟xmms後,終端的提示又回來了。現在xmms在後臺執行著呢(可以繼續工作和聽音樂了^_^)

但萬一你執行程式時忘記使用“&”了,又不想重新執行(Eclipse啟動速度太慢了,我不想重啟啊,:))。你可以先使用ctrl+z掛起程式,然後敲入bg命令,這樣程式就在後臺繼續運行了。

察看jobs

使用jobs或ps命令可以察看正在執行的jobs。(the two have a little diff. have a try ^_^)

kill a job

方法一:
通過jobs命令檢視job號(假設為num),然後執行kill %num
方法二:
通過ps命令檢視job的程序號(PID,假設為pid),然後執行kill pid

kill的其他作用

kill除了可以終止程序,還能給程序傳送其它訊號,使用kill -l 可以察看kill支援的訊號。

SIGTERM是不帶引數時kill傳送的訊號,意思是要程序終止執行,但執行與否還得看程序是否支援。如果程序還沒有終止,可以使用kill -SIGKILL pid,這是由核心來終止程序,程序不能監聽這個訊號。

-------------------------------------

Linux 前後臺程序切換

當你用shell啟動一個程式時,往往他是在前臺工作的。 例如經常用PUTTY連線到遠端伺服器執行指令碼的時候,如果本地網路中斷後,這個時候前臺程序就結束了,比較的懊惱,必須重新執行。因此有必要進行前後臺程序的切換。

例如直接在終端裡輸入firefox,那麼會開啟firefox,但當你關閉此終端或者ctrl+c強制終止時,firefox也隨機關閉了。你可以在執行時後面加一個&,這樣就在後臺工作了。

Shell支援作用控制,有以下命令:

1. command & 讓程序在後臺執行

2. jobs –l 檢視後臺執行的程序

3. fg %n 讓後臺執行的程序n到前臺來

4. bg %n 讓程序n到後臺去;

PS:"n"為jobs檢視到的程序編號。

1、執行命令&切換至後臺

在Linux終端執行命令的時候,在命令末尾加上 & 符號,就可以讓程式在後臺執行

[email protected]$ ./tcpserv01&

2、切換正在執行的程式到後臺

如果程式正在前臺執行,可以使用 Ctrl+z 選項把程式暫停,然後用 bg %[number] 命令把這個程式放到後臺執行,這個步驟分為3步,如下:

2.1 暫停程式執行CTRL+Z

ctrl + z跟系統任務有關的,ctrl + z可以將一個正在前臺執行的命令放到後臺,並且暫停。

[[email protected] ~]$ sh ins.sh

^Z

[1]+ Stopped  ins.sh

2.2 檢視暫停的程式

察看jobs使用jobs或ps命令可以察看正在執行的jobs。

[[email protected]1 ~]$ jobs -l

[1]+  4524 Stopped  ins.sh

jobs命令執行的結果,+表示是一個當前的作業,減號表是是當前作業之後的一個作業。

jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated

2.3 切換程式至後臺

bg將一個在後臺暫停的命令,變成繼續執行如果後臺中有多個命令,可以用bg %jobnumber將選中的命令調出.

[[email protected] ~]$ bg %1

[[email protected] ~]$ jobs -l

[1]+  4524 Running  ins.sh

2.4 切換程式至前臺

也可以用 fg %[number] 指令把一個程式掉到前臺執行

[[email protected] ~]$ fg %1

./tcpserv01

2.5 終止後臺程式

也可以直接終止後臺執行的程式,使用 kill 命令

[[email protected] ~]$ kill %1

但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的程序標識;也就是說,jobs命令顯示的是當前shell環境中所起的後臺正在執行或者被掛起的任務資訊。

相關推薦

linuxshell任務控制命令快捷jobs/fg/bg/ctrl+z/kill

Linux下使用Shell命令控制任務(Jobs)執行 下列命令可以用來操縱程序任務: ps 列出系統中正在執行的程序 kill 傳送訊號給一個或多個程序(經常用來殺死一個程序) jobs 列出屬於當前使用者的程序 bg 將程序搬到後臺執行(Background) fg

linux一些簡單的命令快捷(不斷更新)

顯示日曆:cal [month] [year] 計算器:bc       退出quit Tab鍵:對當前資料夾下的檔案進行顯示提示,當前輸入的命令進行提示 ctrl+c:停止當前的操作 ctrl+d:離開當前所編輯的文字等 who:檢視但錢線上人 netstat -a:聯機狀

Linux常用Terminal命令快捷

System Info date – Show the current date and time cal – Show this month’s calendar uptime – Show current uptime w

Linux 的IPC控制命令

                                     Shell環境控制IPC        IPC物件一經建立,系統核心即會為該物件分配相關資料結構。為了方便對IPC物件的管理,

Linuxshell指令碼export命令

轉載:http://www.cnblogs.com/flying-tiger/p/5616934.html 1.export命令 Linux export命令用於設定或顯示環境變數。 在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪

Linux常用Terminal命令快捷參考

不管使用的Ubuntu(或像我一樣用Linux Mint)是桌面版或伺服器版,熟悉Terminal的操作都能讓我們在Linux的環境裡更加得心應手,我參考篇末文章後整理出我可能會用到的命令,也許對於剛開始踏入Linux世界的朋友們會有些許幫助。 1. 系統資訊 指令說明 d

12.21- linux引號系列區別及命令快捷

菜鳥驛站12.21linux引號系列區別及命令行快捷鍵內容:1. 單引號雙引號反引號區別2. 命令行快捷鍵3. 查看22號端口是否開啟(5種方法)4. yum安裝常用工具5. find -iname6. lrzsz第1章 單引號’’雙引號””反引號``區別1.1 單引號:單引號的內容會原封不動的顯示出來 所

mac shell終端編輯命令快捷——行首,行尾

它的 back 光標位置 lai ron ear 下一條 class 所有 Ctrl + d 刪除一個字符,相當於通常的Delete鍵(命令行若無所有字符,則相當於exit;處理多行標準輸入時也表示eof) Ctrl + h 退格刪除一個字符,相

mac shell終端編輯命令快捷

單詞 開頭 inux alt nbsp 快捷鍵 編輯命令 首部 部分 ctrl+a //移到行首 ctrl+e //移到行尾===========linux系統用============alt+a //移到光標所在單詞首部alt+e //移到光標所在單詞尾部 alt+d

shell終端編輯命令快捷

ctrl+a 移到命令列首 ctrl+e 移到命令列尾 ctrl+y 插入最近刪除的單詞或語句 ctrl+w 刪除游標處到當前單詞開頭部分或語句 ctrl+k 刪除游標處到行尾部分 ctrl+u 刪除游標處到行首部分 ctrl+d 刪除游標後一個字元 ctrl+h 刪除

vim移動、定位命令快捷速查表(簡練通俗)

游標位置移動(方向) 位置 鍵 使用頻率 左 h ★★★★★★ 下 j ★★★★★★ 上 k ★★★★★★ 右 l ★★★★★★ 注:也可用小鍵盤區的方向鍵移動游標方向

tmux常用命令快捷

用了大半年tmux,與linux上的screen用途類似,使用過程中總結了一些tmux入門知識; tmux比screen最大的優勢就是tmux split後,重新連線session的時候split的pane不變,還有tmux可以以指令碼的形式啟動並執行一系列複雜的命令; 同

Linux基礎命令(四):高階鍵盤操作許可權控制——history、自動補全、命令快捷、歷史命令展開、id、chmod、umask、su、sudo、chown、chgrp、passwd

高階鍵盤操作 Linux終端支援各種快捷鍵操作。掌握這些快捷鍵以及命令列互動式編輯特性,基本可以告別滑鼠操作了。 clear - 清空螢幕 history - 顯示歷史列表內容 小技巧:Linux的圖形使用者介面中,非最大化的視窗是預設隱藏頂部選項卡的,可以通過保持按

LinuxShell命令的輸出信息同時顯示在屏幕和保存到日誌文件中

blog inux -a 輸出 輸出內容 使用 col 文件中 信息 #直接覆蓋日誌文件 ls -l | tee ./t.log #將輸出內容附加到日誌文件 ls -l | tee -a ./t.log 使用的是tee命令Linux下She

linux shell命令 && || 區別

 在執行某個 命令時,有時需要依賴前面的命令是否執行成功。假如你想通過ssh命令複製很多資料檔案到另外的機器後,刪除所有源有檔案,所以在刪除源有檔案之前首先要確定複製是不是執行成功。只要執行復製成功才可以刪除,否則後果...... 一、&

Linuxshell命令用法和例項總結:du

完整的Linux下Shell命令總結歸檔於IT老兵部落格。 命令格式 du [選項] [檔案] 命令功能 du(disk usage 的簡稱)命令用於檢查計算機上檔案和目錄的磁碟使用情況,可以遞迴顯示檔案和目錄。顯示每個檔案和目錄的磁碟使用空間。 命令引數

linuxshell命令解析器

shell是一個命令語言解析器,有自己內建的shell命令集,shell也能被系統中其他應用程式所呼叫。使用者在提示符下輸入的命令都由shell先解釋然後傳給linux核心。 當普通使用者成功登陸,系統將執行一個稱為shell的程式,shell程序提供了命令列的

Linux 學習之Shell 基礎——Bash基本功能——別名快捷

1、命令別名 [[email protected] ~]# alias 別名='原命令’ #設定命令別名 [[email protected] ~]# alias # 查詢命令別名 詳細介紹: 1)別名就是給系統中的某個命令起個新名稱,方便使用者根據自

linuxshell程式設計printprintf的區別

1,print是ksh的內建命令,而printf是bash的內建命令 2,print 中不能使用%s ,%d 或%c; 3,print 自動換行,printf 沒有自動換行。 比如下面指令碼的輸出:

LinuxPatch補丁的生成打補丁命令

之前在公司做專案的時候用到了在linux打補丁的技術(呵呵,其實也不是什麼技術說大了就是一條命令),感覺這個還是挺有用的,因為很多原廠都是給出原始碼基礎或是他們修改基礎上的補丁包都我們,讓我們自己打上去來更新一些程式碼的功能的。 一、打補丁最需要注意有以下兩點: 1、要打補