linux基礎學習【4】
阿新 • • 發佈:2018-10-12
pre signal 暫停 image 虛擬內存 所有 pid vpd -m 系統進程
一.什麽是進程
進程 : 一個正在運行中的程序
程序被觸發後,執行者的權限與屬性,程序的程序碼與所需數據等都會被載入內存中,操作系統會給予這個內存內的單元一個識別碼 (PID)。
二.查看進程
1.圖形方式查看
命令:`gnome-system-monitor`
2.進程查看命令
命令:`ps` ps -A/-e 顯示所有(包括不同終端不同用戶)進程(PID,TTY,TIME,CMD) ps -a 當前環境中運行的進程,不包含環境信息(PID,TTY,TIME,CMD) ps -u (username) 顯示當前(username)用戶進程信息(USER,PID,CPU,MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND) ps a 顯示當前終端環境中(包括不同用戶)運行的進程 ps x 列出系統中所有運行包含tty輸出設備 ps f 顯示進程的父子關系 ps e 顯示進程中的詳細信息(列出程序所使用的環境變量)
常用組合
ps -aux 顯示系統中所有進程並顯示進程用戶 ps -ef 顯示進程詳細信息並顯示父子進程關系 ps -ax 顯示系統中所有進程 ps -o 顯示進程的指定信息 ps -o comm 進程名稱 ps -o user 進程所有人 ps -o group 進程所有組 ps -o %cpu 進程cpu使用率 ps -o %mem 進程內存使用率 ps -o pid 進程id ps -o nice 進程優先級 PID :進程編號 TTY :命令所執行的終端(tty1-tty6是本機登入者,pts/0等是網絡連接主機的程序) STAT :進程狀態 TIME :運行程序占用cpu的時間 COMMAND/CMD :改程序的實際指令 %CPU :進程占用CPU百分比 %MEM :進程占用內存百分比 VSZ :虛擬內存集,進程占用的虛擬內存空間 RSS :物理內存集,進程占用的實際物理內存空間
shell查看進程
進程排序
ps --sort= +%cpu 正序顯示cpu占用率排序進程結果
ps --sort= -%mem 逆序顯示內存占用率排序進程結果
按照CPU占用率順序顯示前10行
三.進程的狀態與優先級
STAT 顯示狀態:
R 正在運行 S 可喚醒的睡眠狀態 D 不可喚醒的睡眠進程 T 停止狀態 Z 僵屍進程 l 內存中有鎖定空間 N 優先級低 < 優先級高 + 前臺進程 s 頂級進程
NI 顯示優先級:
1.優先級範圍
-20——19(-20最高,19最低)
2.優先級查看
ps ax -o pid,nice,comm
3.改變進程優先級
renice -n 5 pid 將進程id為pid的進程優先級變為5
renice -n -5 6574 將進程id為6574的進程優先級變為-5
運行vim並監控pid和優先級,初始優先級為0,pid為15813
利用renice -n 5 15813修改vim優先級為5
4.指定某個優先級開啟進程
nice -n 優先級數字 進程名稱
nice -n -5 vim & 後臺開啟vim並且指定優先級為-5
四.環境中進程的前後臺調用
jobs 查看被打入後臺的進程
ctrl+z 把占用終端的進程打入後臺
fg jobsnum 把後臺進程調回前臺
bg jobsnum 繼續運行後臺暫停的進程
comm & 讓命令直接在後臺運行
打開vim和gedit並放置後臺,利用jobs查詢
命令後加&直接在後臺打開vim
五.進程信號
1.常用進程信號等級
1 進程重新加載配置
2 刪除進程在內存中的數據
3 刪除鼠標在內存中的數據
9 強行結束目標進程(不可被阻塞)
15 正常關閉進程(可能會被阻塞)
18 運行暫停的進程
19 暫停某個進程(不可被阻塞)
20 把進程打入後臺(可以被阻塞)
2.利用信號等級管理進程
man 7 signal 查看信號詳細信息
kill -信號等級 pid 對進程編號為pid的進程進行管理
killall -信號等級 comm 對所有名稱為comm進程管理
pkill -信號等級 -u -student 根據特定條件控制進程
打開vim並後臺
強制結束進程vim
六.動態監控進程top
命令:`top`
進入top界面後輸入
【s】:修改進程刷新間隔時間
【m】:根據內存占有率進行排序
【c】:根據cpu占有率進行排序
【u】:後面輸入用戶名,用來查看該用戶
【k】:後面跟要管理的進程pid,和發起的信號(eg:9,15,20)
【q】:退出進程查看界面
【h】:顯示top命令的幫助界面
輸入s修改刷新時間
輸入c根據cpu占有率排序
linux基礎學習【4】