打開應用程序很容易,好比要打開firefox瀏覽器,咱們能夠在終端中輸入命令:html
firefox &node
最後加‘&’的目的是讓應用firefox在後臺運行,這樣終端就不會被Firefox獨佔。linux
若是忘了寫‘&’能夠 Ctrl+z,而後打bg回車正則表達式
文件名中含空格要寫成 '\ 'express
關閉應用瀏覽器
ps是顯示當前狀態處於running的進程,grep表示在這些裏搜索,而ps aux是顯示全部進程和其狀態。網絡
$ ps aux | grep evince 查到evince的進程工具
|:管道符號,command1 |command2,將command1輸出結果經過管道做爲command2命令的輸入參數.ui
***:~/Downloads$ ps aux|grep evince
hellowo+ 6705 5.1 1.3 1202288 107160 pts/0 Sl 20:15 0:02 evince test.pdf
hellowo+ 6710 0.0 0.0 161224 3880 ? Ssl 20:15 0:00 /usr/lib/evince/evinced
hellowo+ 6746 0.0 0.0 17480 824 pts/0 S+ 20:16 0:00 grep --color=auto evincefirefox
$ kill -s 9 pid 殺死進程號爲PID的進程,例如:kill -9 6705
要對進程進行監測和控制,首先必需要了解當前進程的狀況,也就是須要查看當前進程, 而ps命令(Process Status)就是最基本同時也是很是強大的進程查看命令.
使用該命令 能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有殭屍、哪些進程佔用了過多的資源等等.總之大部分信息都是能夠經過執行該命令獲得的.
ps 爲咱們提供了進程的一次性的查看,它所提供的查看結果並不動態連續的;
若是想對進程時間監控,應該用 top 工具。
若是直接用ps命令,會顯示全部進程的狀態,一般結合grep命令查看某進程的狀態。
grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。
使用示例:
[root@node20 updateDB]# ps aux|grep ./update_stock
root 14232 0.0 0.0 5928 724 pts/1 S+ 18:16 0:00 grep ./update_stock
root 25021 0.0 0.0 3056 816 ? S Apr12 0:03 ./update_stock
ps aux輸出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
格式說明:
USER: 行程擁有者
PID: pid
%CPU: 佔用的 CPU 使用率
%MEM: 佔用的記憶體使用率
VSZ: 佔用的虛擬記憶體大小
RSS: 佔用的記憶體大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 該行程的狀態,linux的進程有5種狀態:
D 不可中斷 uninterruptible sleep (usually IO) (收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生)
R 運行 runnable (on run queue) (正在運行或在運行隊列中等待)
S 中斷 sleeping (休眠中, 受阻, 在等待某個條件的造成或接受到信號)
T 中止 traced or stopped (進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後中止運行運行)
Z 僵死 a defunct (」zombie」) process (進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
注: 其它狀態還包括W(無駐留頁), <(高優先級進程), N(低優先級進程), L(內存鎖頁).
START: 進程開始時間
TIME: 執行的時間
COMMAND:所執行的指令
1) ps a 顯示現行終端機下的全部程序,包括其餘用戶的程序。
2)ps -A 顯示全部程序。
3)ps c 列出程序時,顯示每一個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每一個程序所使用的環境變量。
6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關係。
7)ps -H 顯示樹狀結構,表示程序間的相互關係。
8)ps -N 顯示全部的程序,除了執行ps指令終端機下的程序以外。
9)ps s 採用程序信號的格式顯示程序情況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t 指定終端機編號,並列出屬於該終端機的程序的情況。
12)ps u 以用戶爲主的格式來顯示程序情況。
13)ps x 顯示全部程序,不以終端機來區分。14)$ps -aux 查看全部運行的進程
15)ps -l 較長,較詳細的顯示該PID的信息
# ps -lA |more
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 76 0 - 1193 109952 ? 00:00:03 init
1 S 0 2 1 0 -40 - - 0 migrat ? 00:00:03 migration/0
1 S 0 3 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/0
1 S 0 4 1 0 -40 - - 0 migrat ? 00:00:02 migration/1
1 S 0 5 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/1
1 S 0 6 1 0 -40 - - 0 migrat ? 00:00:02 migration/2
1 S 0 7 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/2
相關信息的意義:
F 進程的標誌(flag),4表示用戶為超級用戶
S 進程的狀態(stat),各STAT的意義見下文
PID 進程的ID
C CPU使用資源的百分比
PRI priority(優先級)的縮寫,
NI Nice值,
ADDR 核心功能,指出該進程在內存的那一部分,若是是運行的進程,通常都是「-」
SZ 用掉的內存的大小
WCHAN 當前進程是否正在運行,若為「-」表示正在運行
TTY 登陸者的終端位置
TIME 用掉的CPU的時間
CMD 所執行的指令
# ps aux |more
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 4772 564 ? S Sep22 0:03 init [3]
root 2 0.0 0.0 0 0 ? S Sep22 0:03 [migration/0]
root 3 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S Sep22 0:02 [migration/1]
root 5 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/1]
root 6 0.0 0.0 0 0 ? Ss+ Sep22 0:02 [migration/2]
root 7 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/2]
root 8 0.0 0.0 0 0 ? S Sep22 0:00 [migration/3]
root 9 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/3]
root 10 0.0 0.0 0 0 ? S< Sep22 0:00 [migration/4]
上述各位解釋:
USER 進程的屬主;
PID 進程的ID;
PPID 父進程;
%CPU 進程佔用的CPU百分比;
%MEM 佔用內存的百分比;
NI 進程的NICE值,數值大,表示較少佔用CPU時間;
VSZ 進程使用的虛擬內存量(KB);
RSS 該進程佔用的固定內存量(KB)(駐留中頁的數量);
TTY 該進程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。
若爲pts/0等,則表示由網絡鏈接主機進程
WCHAN 當前進程是否正在進行,若爲-表示正在進行;
START 該進程被觸發啓動時間;
TIME 該進程實際使用CPU運行的時間;
COMMAND 命令的名稱和參數;
STAT狀態位常見的狀態字符
D 沒法中斷的休眠狀態(一般 IO 的進程);
R 正在運行可中在隊列中可過行的;
S 處於休眠狀態;
T 中止或被追蹤;
W 進入內存交換 (從內核2.6開始無效);
X 死掉的進程 (基本不多見);
Z 殭屍進程;
< 優先級高的進程
N 優先級較低的進程
L 有些頁被鎖進內存;
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 相似 NPTL pthreads);
+ 位於後臺的進程組;
$kill -9 (PID) 殺死進程號爲PID的進程
$killall (program) killall 加上程序的名字,直接殺掉全部進程
$pkill (program) pkill 加上程序的名字,方法killall相似
$xkill xkill 是在桌面用的殺死圖形界面的程序。好比當firefox 出現崩潰不能退出時,點鼠標就能殺死firefox 。當xkill運行時出來和我的腦骨的圖標,哪一個圖形程序崩潰一點就OK了。若是您想終止xkill ,就按右鍵取消。
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
試用xkill命令把那個小叉號點到了終端上~弄得系統死住了~只能強制重啓~so~那個小叉號
不要亂點在桌面或系統進程上
之前用過xkill命令感受很好用~今天kill的這個程序用它就不行了~我用了kill -9才行的
還有就是系統監視器也不行~推薦用kill -9命令
還有有人說-9究竟是什麼意思 ~好象是強制的意思
上邊的命令不行能夠在前面加上sudo~~~~~~~~
參考博客:https://www.cnblogs.com/sunrunzhi/archive/2013/04/14/3020074.html?utm_source=tuicool