linux一天一個腳印:進程的管理
進程
進程: 運行在內存中程序實例 , 進程是程序運行的一種狀態 , 是內存中的概念,進程與進程之間無法訪問對方私有的內存區域。
線程: 程序運行的最小單元,一個進程可以派生出多個線程,同一個進程內的線程之間可以相互訪問彼此內存區域,並且可以共享同一進程的共享內存區域。
進程編號:pid
父進程編號:ppid
pstree 命令
pstree 命令用以查看進程的結構
-a | 顯示每個程序的完成指令,包含路徑,參數或是常駐服務的標識。 |
-c | 不使用精簡標示法 |
-G | 使用VT100終端機的列繪圖字符 |
-h | 列出樹狀圖,特別標明執行的程序 |
-l | 采用長列格式顯示樹狀圖 |
-p | 顯示程序識別碼 |
-u | 顯示用戶名稱 |
-U | 使用UTF-8列繪圖字符 |
-V | 顯示版本信息 |
-n | 用程序識別碼排序 |
[[email protected] ~]# pstree
init─┬─auditd───{auditd}
├─crond
├─2*[dhclient]
├─master─┬─pickup
│ └─qmgr
├─6*[mingetty]
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─udevd───2*[udevd]
└─xinetd
靜態查看進程信息
ps
ps 查看當前標簽頁上的進程信息
ps aux 系統進程快照
pgrep 用來過濾進程號
動態查看進程信息
top終端
【 d 】修改默認刷新頻率 , 默認 3s
【 P 】以 cup 占用百分比進行排序
【 M 】以內存的占用情況排序
【 h 】顯示幫助信息
【 <> 】翻頁
【 k 】殺掉進程 kill
停止進程
Linux中的 kill 命令用來停止指定的進程( terminate a process )的運行,是 Linux下進程管理的常用命令。
通常情況下停止一個前臺進程可以使用 Ctrl+C 組合鍵,但是對於一個運行在後臺進程需要用 kill命令來終止,我們
就需要先使用 ps、pidof、pstree和top 等工具獲取進程 PID ,然後使用 kill 命令來殺掉該進程。
號將終止所有不能捕獲該信號的進程。
對於那些可以捕獲該信號的進程就要用編號為 9 的 kill 信號,強行 “ 殺掉 ” 該進程。
命令格式
kill [參數][進程號]
命令功能:
發送指定的信號到相應進程。不指定型號將發送 SIGTERM ( 15 )終止指定進程。如果任無法終止該程序可用 “ KILL”
參數,其發送的信號為 SIGKILL(9) ,將強制結束進程,使用 ps 命令或者 jobs 命令可以查看進程號。 root 用
戶將影響用戶的進程,非 root 用戶只能影響自己的進程。
參數說明
-l 信號,若果不加信號的編號參數,則使用 “ l”參數會列出全部的信號名稱
-a 當處理當前進程時,不限制命令名和進程號的對應關系
-p 指定 kill 命令只打印相關進程的進程號,而不發送任何信號
-s 指定發送信號
-u 指定用戶
xkill 哪裏關不掉點哪裏,主要用於停止圖形化(GUI)程序
進程優先級
NI nice
數字表示: -20-19 數字越小,等級越高。
ps -le | grep ping <==查看ping優先級
指定優先級
nice -n 3 ping ipxxxxx
調整優先級
renice -n [-20-19] [pid]
----------------------------------------------------
小白的渣排版- -
linux一天一個腳印:進程的管理