1. 程式人生 > >linux一天一個腳印:進程的管理

linux一天一個腳印:進程的管理

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 系統進程快照

ps -ef e 所有進程 f 全格式羅列

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 命令來殺掉該進程。

kill 命令是通過向進程發送指定的信號來結束相應進程的。在默認情況下,采用編號為15 的 TERM 信號。 TERM 信
號將終止所有不能捕獲該信號的進程。
對於那些可以捕獲該信號的進程就要用編號為 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一天一個腳印:進程的管理