進程命令
進程管理
程序:靜態的代碼,占用磁盤空間
進程:動態的代碼,占用內存、CPU
進程唯一編號:PID
父進程/子進程
? pstree — Processes Tree
– 格式:pstree [選項] [PID或用戶名]
? 常用命令選項
– -a:顯示完整的命令行
– -p:列出對應PID編號
[root@svr7 /]# pstree
[root@svr7 /]# pstree lisi
無用戶名: lisi
[root@svr7 /]# useradd lisi
[root@svr7 /]# pstree lisi
bash───vim
[root@svr7 /]# pstree -p lisi
bash(10119)───vim(10150)
[root@svr7 /]# pstree -ap lisi
bash,10119
└─vim,10150 a.txt
[root@svr7 /]# pstree -ap 10119
? ps aux 操作
– 列出正在運行的所有進程,顯示信息完整
? ps -elf 操作
– 列出正在運行的所有進程,顯示信息中有PPID(父進程的PID)
[root@svr7 /]# ps aux
[root@svr7 /]# ps -elf
[root@svr7 /]# ps aux | wc -l
[root@svr7 /]# ps -elf | wc -l
進程動態排名
? top 交互式工具
– 格式:top [-d 刷新秒數] [-U 用戶名]
? top 交互操作指令
– ?:查看幫助(列出可用的按鍵指令)
– P、M:根據 %CPU、%MEM 降序排列
– k:殺死指定的進程
– q:退出 top 程序
檢索進程
? pgrep — Process Grep
– 用途:pgrep [選項]... 查詢條件
? 常用命令選項
– -l:輸出進程名,而不僅僅是 PID
– -U:檢索指定用戶的進程
– -t:檢索指定終端的進程
– -x:精確匹配完整的進程名
[root@svr7 /]# top -d 1
[root@svr7 /]# pgrep -l log
[root@svr7 /]# pgrep -lU root
######################################################
進程的前後臺調度
– 在命令行末尾添加“&”符號,將進程以正在運行的方式放入後臺
– 在命令行按Ctrl+z,將進程以暫停的方式放入後臺
? jobs 命令
– 查看後臺任務列表
? fg 命令
– 將後臺任務恢復到前臺運行
? bg 命令
– 激活後臺被掛起的任務
[root@svr7 /]# sleep 1000 & #正在運行的進程放入後臺
[root@svr7 /]# jobs #查看後臺都有那些進程
[root@svr7 /]# sleep 800
^Z #輸入Ctrl+z暫停放入後臺
[2]+ 已停止 sleep 800
[root@svr7 /]# jobs
[root@svr7 /]# bg 2 #激活後臺暫停的進程
[root@svr7 /]# jobs
[root@svr7 /]# fg 1 #將後臺的進程恢復到前臺
sleep 1000
^C #按Ctrl+c結束進程運行
[root@svr7 /]# jobs
[root@svr7 /]# fg 2
sleep 800
^C #按Ctrl+c結束進程運行
[root@svr7 /]# jobs
殺死進程
? 幹掉進程的不同方法
– Ctrl+c 組合鍵,中斷當前命令程序
– kill [-9] PID...
– killall [-9] 進程名...
– pkill 查找條件
[root@svr7 /]# sleep 100 &
[root@svr7 /]# sleep 200 &
[root@svr7 /]# sleep 300 &
[root@svr7 /]# jobs
[root@svr7 /]# jobs -l
[root@svr7 /]# kill 15230
[root@svr7 /]# jobs -l
[root@svr7 /]# killall -9 sleep
[root@svr7 /]# jobs -l
[root@svr7 /]# killall -9 -u lisi #踢出一個用戶
進程命令