1. 程式人生 > >進程命令

進程命令

txt 查詢 管理 檢索 組合鍵 root 精確匹配 運行 ces

進程管理

程序:靜態的代碼,占用磁盤空間


進程:動態的代碼,占用內存、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 #踢出一個用戶

進程命令