linux進程管理及kill命令詳解

一丶進程管理

Linux 是一種動態系統,能夠適應不斷變化的計算需求。Linux 計算需求的表現是以進程 的通用抽象爲中心的。進程可以是短期的(從命令行執行的一個命令),也可以是長期的(一種網絡服務)。因此,對進程及其調度進行一般管理就顯得極爲重要。

1.ps常用選項

ps支持三種選項
UNIX選項 如-A -e
BSD選項 如a
GNU選項 如--help

1)BSD方式

a 所有用戶在所有終端上運行的前臺進程
x 當前用戶運行的所有進程(包括前臺進程和後臺daemon)
ax 所有用戶運行的所有進程
aux 所有用戶運行的所有進程,結果中顯示用戶名
f 顯示父子進程關係
-C 用進程名進行過濾
k 排序或--sort
axo配合

linux進程管理及kill命令詳解

o 自定義輸出列
%cpu
%mem
pid
uid
gid
cmd
comm
tty 顯示終端名,如爲?,表示daemon後臺進程
ruser 命令的發起人
euser 命令的真正執行人
state 狀態
VSZ:虛擬內存集,線性內存 表示操作系統承諾內存集
RSS:常駐內存集 實際分配內存

2)UNIX方式

-e 顯示所有進程
-f 顯示完整格式
-ef 以完整格式顯示所有進程
-eF 以更完整格式顯示所有進程
-efH 顯示父子進程關係
-eo 自定義顯示結果,如下
ps -eo %cpu,%mem,pid,nice,pri,stat,comm
linux進程管理及kill命令詳解

3)GNU方式

--help 尋求幫助
--sort 排序

2.nice值

-20~19
數字越小,優先級越高
renice -n # (-20~19) pid
nice -n #(-20~19) -# command
查看方式 ·
ps axo ni[ce]

~]# ps axo nice
NI
0
0
0
-20
...

3.搜索進程pgrep

pgrep
-u UID/USERNAME 基於執行程序的用戶名進行搜索
-l 顯示的結果中增加進程名
-t 終端名
-P 查看子進程

pidof 進程名 查詢對應進程名的PID
如,搜索ping :

~]# pidof ping
54472

4.uptime

uptime命令能夠打印系統總共運行了多長時間和系統的平均負載。uptime命令可以顯示的信息顯示依次爲:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。

~]# uptime
11:19:13 up 2 days, 15:12, 4 users, load average: 0.00, 0.01, 0.05

5.top

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,常用於服務端性能分析
linux進程管理及kill命令詳解

二丶kil命令

lkill命令用來刪除執行中的程序或工作。kill可將指定的信息送至程序。預設的信息爲SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強制刪除程序。程序或工作的編號可利用ps指令或job指令查看。

1.kill用法

按PID:kill [-SIGNAL] pid …
kill –n SIGNAL pid;kill –s SIGNAL pid
按名稱:killall [-SIGNAL] comm…
按模式:pkill [options] pattern

2.kill常用選項

-0 無作爲,可以用來單純判斷進程是否運行. -1 -HUP:強制進程重讀配置文件
-2 -INT: 中止正在運行的進程;相當於Ctrl+c
-3 -QUIT: 相當於ctrl+\
-9 -KILL: 強制殺死正在運行的進程
-15 -TERM: 終止正在運行的進程 (默認)

pkill

-u 用戶名 殺死指定用戶所運行的所有進程
-U 真正發起運行命令者
-t 與指定終端相關的進程
-l 顯示進程名(pgrep可用)
-a 顯示完整格式的進程名(pgrep可用)
-P 顯示指定進程的子進程
pkill -t pts/1 殺死指定終端上運行的所有進程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章