1、Linux的進程java
一、在Linux中,每一個執行的程序(代碼)都稱爲一個進程。每一個進程都分配一個ID號。網絡
二、每一個進程都會對應一個父進程,而這個父進程能夠複製多個子進程。ssh
三、每一個進程均可能以兩種方式存在:前臺與後臺,所謂前臺進程就是用戶目前的屏幕上能夠進行操做的。後臺進程則是實際在操做,但因爲屏幕上沒法看到但進程,一般使用後臺方式執行。spa
四、通常系統但服務都是之後臺進程但方式存在,並且都會常駐在系統中,知道關機才結束。blog
2、顯示系統執行的進程進程
一、查看進程使用的指令是:ps ,通常來講使用的參數是 ps -aux 或者 ps -ef內存
1)ps aux 是用BSD的格式來顯示、其格式以下:class
-a:顯示當前終端的全部進程信息登錄
-u:以用戶的格式顯示進程信息後臺
-x:顯示後臺進程進行的參數
USER:用戶名稱
PID:進程號
%CPU:進程佔用CPU的百分比
%MEM:進程佔用物理內存的百分比
VSZ:進程佔用的虛擬內存大小(單位:KB)
RSS:進程佔用的物理內存大小(單位:KB)
TTY:終端名稱,縮寫
STAT:進程狀態,其中
S:表示睡眠,
s:進程的領導者(在它之下有子進程)
N:優先級較低的進程
R:表示正在運行,
D:沒法中斷的休眠狀態(一般 IO 的進程)
Z:僵死進程,
T:被跟蹤或者被中止等等。
TIME:CPU時間,即進程使用CPU的總時間
COMMAND:啓動進程所用的命令和參數,若是過長會被截斷顯示。
2)ps -ef 是用標準的格式顯示進程的、其格式以下:
-e:顯示全部進程
-f:全格式
UID:用戶ID、但輸出的是用戶名
PID:進程的ID
PPID:父進程ID
C:進程佔用CPU的百分比,CPU用於計算執行優先級的因子,數值越大,代表進程是CPU密集型運算,執行優先級會下降,數值越小,代表進程是I/O密集型運算,執行優先級會提升。
STIME:進程啓動到如今的時間
TTY:該進程在那個終端上運行,若與終端無關,則顯示? 若爲pts/0等,則表示由網絡鏈接主機進程
CMD:命令的名稱和參數
3)查看某個進程:如java
ps -ef | grep java
3、終止進程 kill 和 killall
一、基本語法:
kill [選項] 進程號 :經過進程號殺死進程
killall 進程名稱 :經過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時頗有用。
二、經常使用選項:
-9 :表示強制進程當即中止
三、案例:
3.一、踢掉某個非法登陸用戶
3.二、終止遠程登陸服務sshd,在適當時候再次重啓 sshd 服務
4、查看進程樹 pstree
一、語法:
pstree [選項] :能夠更加直觀地來看進程信息
二、經常使用選項:
-p:顯示進程的PID
-u:顯示進程的所屬用戶
三、案例:
3.1 以樹狀的形式顯示進程的pid
3.2 以樹狀的形式顯示進程的用戶id