進程管理類的命令:
pstree,ps,top,vmstat,htop,pmap
pstree:查看進程樹
ps:顯示系統當前進程狀態的命令
進程:
跟終端相關的進程
跟終端無關的進程
a:所有跟終端相關的進程
ps a
x:所有跟終端無關的進程
ps x
STAT:
S:可中斷睡眠
D:不可中斷睡眠
R:運行或可運行
T:停止
Z:僵死
s:session leader
l:多線程進程
+:前臺進程:
N:低優先級進程
<:高優先級進程
COMMAND:由哪個命令發起的進程
[]:內核線程
u:以用戶爲中心顯示進程相關信息
ps u
%CPU:cputime/realtime
%MEM:佔用內存百分比
VSZ:Virtual memory Size 虛擬內存集,虛擬地址空間大小
RSS:實際內存,非可交換內存,常駐內存集
START:啓動時間
-ef:
ps -ef
-e:顯示所有進程
-f:完整格式列表
-eFH:
ps -eFH
-F:顯示額外信息
-H:顯示進程層次關係
PSR:運行在哪個CPU上,CPU編號:0,1,2,3
-o 要顯示的字段:自定義顯示格式
ps -o pid,command
ps axo pid,command
pgrep pattern:
例:pgrep bash
選項;
-U USERNAME:顯示相關用戶的進程
-G GROUPNAME:顯示相關組的進程
pidof:找到某一個進程的ID號
top
M:按內存空間佔用大小排序
P:按CPU使用大小排序
T:按累計時間排序
k:殺死一個進程
m:是否顯示內存摘要信息
t:是否顯示CPU和進程的統計信息
l:是否顯示負載信息
q:退出
選項:
-d N:刷新延遲
-b:批次顯示
-n N:指定批次顯示時顯示的批數
vmstat:
vmstat 1:每秒刷新一次
procs
r:運行或等待CPU時間片的進程個數
b:被阻塞(通常爲等待IO完成)的進程隊列的長度
memory
swpd:從物理內存交換至交換分區的數據量
free:從未使用的物理內存空間
buff:buffer cache的空間大小:通常是緩存寫操作相關的數據
cache:page cache的空間大小:通常是緩存讀操作相關的數據
swap:
si:swap in:數據進入交換分區中的數據量,即從內存至交換分區中去
so:swap out:數據離開交換分區中的數據量,即從交換分區子內存
io:
bi:block in:從塊設備讀入的數據量(kb/s)
bo:block out:保存至塊設備的數據量(kb/s)
system:
in:interrupt:中斷髮生的速率,通常爲每秒多少次中斷請求發生
cs:context switch:上下文切換的速率
cpu:
us:用戶進程所佔用CPU時間的百分比
sy:內核
id:CPU空閒百分比
wa:CPU用於等待IO完成的時間百分比
st:被虛擬化佔去的時間百分比
sar
-u:顯示CPU的控制信息
sar
-P:-P指定CPU
sar -P ALL:顯示所有CPU的控制信息 sar -P 0:顯示0號CPU的控制信息
iostat -c:顯示CPU的平均使用率
dstat -c:顯示CPU的信息
dstat -C 0,3:顯示0號和3號CPU的信息
進程間通信:IPC
共享內存,shm
信號:signal
信號:
1、SIGHUP,讓進程不用終止,而重讀其配置文件
2、SIGINT,中斷正在運行的進程,相當於Ctrl+c
9、SIGKILL,殺死一個進程
15、SIGTERM,終止一個進程
19、SIGSTOP,停止一個進程
18、SIGCONT,繼續一個進程
向其它進程傳遞信號,使用kill
kill -信號 PID 每次進程啓用後PID會不一樣
kill -SIGKILL 2031或kill -9 2031
killall -信號 進程名
killall -SIGKILL gnome:殺死gnome相關的所有進程
killall5:殺死所有進程
kill -l:列出所有可以使用kill的信號
調整進程nice值:
普通用戶:調大數字,調低優先級
只有管理員可以調小數字,調高優先級
-20,19
100,139
nice -n N COMMAND:調整進程的nice值調整爲N 一個進程還沒有啓動,需要手動啓動它,只需要指定nice,並指定其nice值爲N,這樣這個命令就工作在這個nice值N下了
renice N PID:把PID爲這個號碼的進程的nice值重新調整爲其它nice值N
Linux作業控制:
前臺:佔用着終端:前臺作業
後臺:無須佔用終端
jobs:查看當前作業
前臺-->後臺:Ctrl+z 送到後臺後不會運行
# vim /tmp/test.txt
hello world
Ctrl+z
後臺-->前臺:fg [[%]JOB_ID] []表示可省
bg [[%]JOB_ID]:讓其在後臺運行
啓動時,讓作業直接運行於後臺:
COMMAND &
nohup COMMAND & 使命令於終端無關,即終端關閉後命令還能運行
jobs 查看
作業也可以被終止
kill %JOB_ID
axel -n 5 -o /mnt/Soft/down http://a.b.c.d/abc.iso & 在後臺下載
nohup axel -n 5 -o /mnt/Soft/down http://a.b.c.d/abc.iso & 終端關閉後還能下載
screen:在一個終端上打開多個屏幕
screen
Ctrl A鬆開,再按D鍵:從當前screen屏幕離開,即其自己去後臺運行
screen -ls:查看有幾個screen在運行
screen -r SCREEN_ID:調出screen屏幕
screen -r 3700
exit:關閉screen