linux維護工作中,常常需要對系統上運行的程序進行管理,那么進程管理就顯得相當重要。
進程初識
什么是進程?
進程是并發執行的程序在執行過程中分配和管理資源的基本單位,是一個動態概念。它代表CPU所能處理的單個任務。什么是線程?
線程是程序流執行的最小單元,可以理解為進程中執行的一段程序片段。進程與線程聯系和區別
一個線程可撤銷另一個線程,同一個進程中的多個線程可并發執行。 可與同進程中的其他線程共享內存空間,擁有自己的??臻g,和獨立的執行序列。進程分類
守護進程:在系統引導過程中啟動的進程,和終端無關。 前臺進程:跟終端相關,通過終端啟動的進程。 兩者可相互轉化。進程優先級
1-99:實時優先級:數字越大,優先級越高。
100-139:靜態優先級:數字越小,優先級越高。
nice值:-20,193、ps命令 用于報告系統當前系統進程狀態。進程狀態
運行態:
當進程正在被CPU執行,或已經準備就緒隨時可有調度程序執行,則該進程處于運行態(running).當系統資源已經可用時,進程就被喚醒而準備進入準備運行狀態,該狀態為就緒態。
可中斷睡眠狀態:
處于這個狀態的進程不會被系統調度。當系統產生了一個中斷或者釋放了進程正在等待 的資源,或者收到一個信號,都可以喚醒進程轉換到就緒態(運行態)。
不可中斷睡眠轉態:與可中斷睡眠轉態類似。但只能被wake_up()函數喚醒才能轉換為就緒態。
暫停轉態:
進程收到信號SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU時會轉換為暫停轉態,向其發送SIGCONT信號可讓其轉換為可運行狀態。
僵尸狀態:
當進程已經停止運行,但其父進程還沒有詢問其狀態時,該進程處于僵死狀態。進程管理命令
ps命令
用于報告當前系統的進程狀態??梢源钆鋕ill指令隨時中斷、刪除不必要的程序。ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。top命令
top命令可以實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。通過top命令所提供的互動式界面,用熱鍵可以管理。htop命令
htop是Linux系統下一個基本文本模式的、交互式的進程查看器,主要用于控制臺或shell中,可以替代top,或者說是top的高級版。快速查看關鍵性能統計數據,如CPU(多核布局)、內存/交換使用 可以橫向或縱向滾動瀏覽進程列表,以查看所有的進程和完整的命令行 殺掉進程時可以直接選擇而不需要輸入進程號 通過鼠標操作條目 比top啟動得更快
vmstat命令
顯示虛擬內存狀態(Viryual Memor Statics),但是它可以報告關于進程、內存、I/O等系統整體運行狀態。pmap命令
pmap命令用于報告進程的內存映射關系,是linux調試及運維的一個很好的工具。pmap [options] pid [...]
-x 顯示詳細格式
pmap 讀取的是/proc/PID/maps中的信息。glances命令
Glances 是一個由Python編寫,使用 psutil 庫來從系統抓取信息的基于curses開發的跨平臺命令行系統監視工具。通過Glances,可以監視CPU,平均負載,內存,網絡流量,磁盤 I/O,其他處理器和文件系統空間的利用情況。dstat命令
dstat命令是一個全能信息統計工具,擁有彩色界面,支持實時刷新,功能非常強大。kill命令
kill命令可以給進程發送信號,通過傳遞信號可以完成多種操作常用信號 1) SIGHUP: 無須關閉進程而讓其重讀配置文件; 2) SIGINT: 中止正在運行的進程;相當于Ctrl+c; 9) SIGKILL: 殺死正在運行的進程; 15) SIGTERM:終止正在運行的進程; 18) SIGCONT: 19) SIGSTOP: 顯示當前可用信號 kill -l例:[root@localhost ~]# kill -9 4197
Killed
[root@localhost ~]#pkill命令
pkill命令可以按照進程名殺死進程。pkill和killall應用方法差不多,也是直接殺死運行中的程序;如果想殺掉單個進程,請用kill來殺掉。
原創文章,作者:M20-1--孔祥文,如若轉載,請注明出處:http://www.www58058.com/44411
文檔功底相當不錯,尤其是思維導圖,做的太精美的,贊一個?。?!