Linux 進程管理
程序是為了完成某種任務而設計的軟件,比如OpenOffice是程序。什么是進程呢?進程就是運行中的程序。
一個運行著的程序,可能有多個進程。 比如 LinuxSir.Org 所用的WWW服務器是apache服務器,當管理員啟動服務后,可能會有好多人來訪問,也就是說許多用戶來同時請求httpd服務,apache服務器將會創建有多個httpd進程來對其進行服務。
1.1 進程分類;
進程一般分為交互進程、批處理進程和守護進程三類。
值得一提的是守護進程總是活躍的,一般是后臺運行,守護進程一般是由系統在開機時通過腳本自動激活啟動或超級管理用戶root來啟動。比如在Fedora或Redhat中,我們可以定義httpd 服務器的啟動腳本的運行級別,此文件位于/etc/init.d目錄下,文件名是httpd,/etc/init.d/httpd 就是httpd服務器的守護程序,當把它的運行級別設置為3和5時,當系統啟動時,它會跟著啟動。
[root@localhost ~]# chkconfig --level 35 httpd on
由于守護進程是一直運行著的,所以它所處的狀態是等待請求處理任務。比如,我們是不是訪問 LinuxSir.Org ,LinuxSir.Org 的httpd服務器都在運行,等待著用戶來訪問,也就是等待著任務處理。
1.2 進程的屬性;
進程ID(PID):是唯一的數值,用來區分進程;
父進程和父進程的ID(PPID);
啟動進程的用戶ID(UID)和所歸屬的組(GID);
進程狀態:狀態分為運行R、休眠S、僵尸Z;
進程執行的優先級;
進程所連接的終端名;
進程資源占用:比如占用資源大小(內存、CPU占用量);
1.3 父進程和子進程;
他們的關系是管理和被管理的關系,當父進程終止時,子進程也隨之而終止。但子進程終止,父進程并不一定終止。比如httpd服務器運行時,我們可以殺掉其子進程,父進程并不會因為子進程的終止而終止。
在進程管理中,當我們發現占用資源過多,或無法控制的進程時,應該殺死它,以保護系統的穩定安全運行;
2、進程管理;
對于Linux進程的管理,是通過進程管理工具實現的,比如ps、kill、pgrep等工具;
2.1 ps 監視進程工具;
ps 為我們提供了進程的一次性的查看,它所提供的查看結果并不動態連續的;如果想對進程時間監控,應該用top工具;
2.1.1 ps 的參數說明;
ps 提供了很多的選項參數,常用的有以下幾個;
l 長格式輸出; u 按用戶名和啟動時間的順序來顯示進程; j 用任務格式來顯示進程; f 用樹形格式來顯示進程; a 顯示所有用戶的所有進程(包括其它用戶); x 顯示無控制終端的進程; r 顯示運行中的進程; ww 避免詳細參數被截斷;
我們常用的選項是組合是aux 或lax,還有參數f的應用;
ps aux 或lax輸出的解釋;
USER 進程的屬主; PID 進程的ID; PPID 父進程; %CPU 進程占用的CPU百分比; %MEM 占用內存的百分比; NI 進程的NICE值,數值大,表示較少占用CPU時間; VSZ 進程虛擬大小; RSS 駐留中頁的數量; WCHAN TTY 終端ID STAT 進程狀態
- D Uninterruptible sleep (usually IO) R 正在運行可中在隊列中可過行的; S 處于休眠狀態; T 停止或被追蹤; W 進入內存交換(從內核2.6開始無效); X 死掉的進程(從來沒見過); Z 僵尸進程; < 優先級高的進程 N 優先級較低的進程 L 有些頁被鎖進內存; s 進程的領導者(在它之下有子進程); l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) + 位于后臺的進程組;
2.1.2 ps 應用舉例;
實例一:ps aux 最常用
[root@localhost ~]# ps -aux |more
可以用 | 管道和 more 連接起來分頁查看;
[root@localhost ~]# ps -aux > ps001.txt
[root@localhost ~]# more ps001.txt
這里是把所有進程顯示<
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解