1. 查看後台運行的命令 、進程狀態、關閉前後台命令
有兩個命令可以來查看,ps 和 jobs。區別在於 jobs 只能查看當前終端後台執行的任務,換了終端就看不見了。而ps命令適用於查看瞬時進程的動態,可以看到別的終端的任務。
先後起了兩個後台運行的進程,使用jobs後都顯示出來了。 「+」代表最近的一個任務(當前任務),「-」代表之前的任務。
只有在當前終端命令行中敲下 nohup和& 時,jobs命令才能將它顯示出來。如果將他們寫到 .sh 腳本中,然後執行腳本,是顯示不出來的
比如執行下面這個腳本後,jobs顯示不出來:
這個是查看進程常用的命令,不多說了。
a: 顯示所有程序 u: 以用戶為主的格式來顯示 x: 顯示所有程序,不以終端機來區分
在linux系統中,ps(Process Status的縮寫)命令常常用來用來列出系統中當前運行的進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程, 如果想要動態的顯示進程信息,就可以使用top命令。 要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而 ps 命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。總之大部分信息都是可以通過執行該命令得到的。
Linux上進程有5種狀態:
ps命令有很多參數,具體如下:
ps -ef 與 ps aux
Linux下顯示系統進程的命令ps,最常用的有ps -ef 和ps aux。這兩個到底有什麼區別呢?兩者沒太大差別,討論這個問題,要追溯到Unix系統中的兩種風格,System V風格和BSD 風格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,兩者輸出略有不同。現在的大部分Linux系統都是可以同時使用這兩種方式的。
ps -ef 是用標準的格式顯示進程的、其格式如下:
ps aux 是用BSD的格式來顯示、其格式如下:
其中STAT狀態位常見的狀態字元有
D 無法中斷的休眠狀態(通常 IO 的進程);
R 正在運行可中在隊列中可過行的;
S 處於休眠狀態; [ 注意:在前台的進程狀態為s+,而在後台的sleep進程狀態都是s ]
T 停止或被追蹤;
W 進入內存交換 (從內核2.6開始無效);
X 死掉的進程 (基本很少見);
Z 僵屍進程;
< 優先順序高的進程
N 優先順序較低的進程
L 有些頁被鎖進內存;
s 進程的領導者(在它之下有子進程);
l 多線程,克隆線程(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 後面有加號說明進程是「位於在 前台 進程組」。也就是進程可以使用鍵盤輸出;
(1)通過jobs命令查看jobnum,然後執行 kill %jobnum
(2)通過ps命令查看進程號PID,然後執行 kill %PID
如果是前台進程的話,直接執行 Ctrl+c 就可以終止了
將後台中的命令調至前台繼續運行
如果後台中有多個命令,可以先用jobs查看jobnun,然後用 fg %jobnum 將選中的命令調出。
(2)Ctrl + z 命令
將一個正在前台執行的命令放到後台,並且處於暫停狀態
(3)bg命令
將一個在後台暫停的命令,變成在後台繼續執行
如果後台中有多個命令,可以先用jobs查看jobnum,然後用 bg %jobnum 將選中的命令調出繼續執行。
2. linux 下查看進程用什麼命令
linux 下查看進程可以使用的命令:
1、ps命令查找與進程相關的PID號:
2、ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
3、ps -A 顯示所有程序。
4、ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
5、ps -e 此參數的效果和指定"A"參數相同。
6、ps e 列出程序時,顯示每個程序所使用的環境變數。
7、ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。
8、ps -H 顯示樹狀結構,表示程序間的相互關系。
9、ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
10、ps s 採用程序信號的格式顯示程序狀況。
11、ps S 列出程序時,包括已中斷的子程序資料。
12、ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。
13、ps u 以用戶為主的格式來顯示程序狀況。
14、ps x 顯示所有程序,不以終端機來區分。