如何處理最好資源的「耗子」程序?
(1) 程序管理
程序:①程式的一次執行過程
① 資源分配和管理的基本單位
程序管理的內容:
① 如何監視程序獲取當前系統中各個程序的具體狀態資訊。
② 調整程序執行的優先。
③ 守護程序。
(1)監視程序
1.與程序有關的資訊
2.程序監視命令
① ps命令
功能:報告程序的相關資訊。
格式:ps [選項]
② top命令
功能:以實時的方式報告程序的相關資訊
格式:top [選項]
③ pstree命令
功能:顯示程序家族樹的資訊
格式:pstree [選項] [程序pid/使用者名稱]
④ lsof命令
功能:列出由某程序所開啟的檔案
格式:lsof [選項] [檔案或目錄路徑]
3.程序與訊號
①kill命令
功能:向特定程序傳送某種訊號
格式:kill [選項] [-訊號名稱/編號][pid列表]
②linux系統中部分常用的訊號
(1)程序的優先順序
1.程序的優先順序pri:是作業系統在程序排程時用於判決程序是否能夠獲得cpu的一句之一。
2.程序的優先順序越高,著越能在競爭中勝出而獲得cpu的時間
3.以乙個整數來表達的,數字越低,優先順序越高。
4.每個破銅的程序的優先順序預設位80
(2)程序的謙讓度
1.程序的謙讓度:表示程序對cpu時間要求的迫切程度。
2.取值範圍:-20~19.
3.程序的謙讓度為負數時,反映程序對cpu資源的要求較為迫切。
一般來說:優先順序與謙讓度存在如下關係:
pri(new)=pri(old)+nice
說明:① root使用者可以調整自己和其他使用者的程序的nice值,且範圍為-20~19;
② 普通使用者只能調整自己程序的nice值,為了避免破銅使用者搶占系統資源,nice的調整範圍為0~19.而且只能往高調整。
nice命令
功能:設定要啟動的程序的謙讓度
格式:nice [選項] 命令
主要選項:
-n(nice)數值:設定謙讓度,數值的範圍-20~19.
2.renice命令
功能:調整已存在的程序nice值
格式:renice –n 謙讓度 程序pid號
四. 守護程序與系統服務
(1)程序的型別
1.系統程序:作業系統啟動後,系統環境平台所載入的程序。
2.使用者程序:與終端相關聯,是由使用者所執行的程序。
3.守護程序:在後台執行的程序,優勢也稱為服務。它沒有螢幕提示,只是在後台等待使用者或系統的請求。
(2)centos7/phel7版本:
1.systemd程序取代init程序;
2.init程序的配置檔案/etc/inittab保留,但是內容改變,原來的功能也不再使用
3.targets取代runlevels
(3)centos5/phel5版本:cat/etc/inittab
系統執行級
執行級別 說明
(4)centos7/phel7版本:runlevels被targets取代
1.獲得預設啟動的target:systemctl get-default
2.設定系統預設啟動的target:systemctl get-default
例項1: systemctl get-default multi-user.target //修改為多使用者字元狀態
例項2: systemctl get-default graphical.target //修改為圖形介面
3. centos7仍保持使用靜態的執行級別來構建不同的啟動狀態。
(5)系統服務管理常用的命令:
1.runlevel命令:
功能:用於顯示系統當前的和上一次的執行級別,入系統不存在上一次的執行級別,用n來代替。
格式:runlevel
2. init命令
功能:轉換服務的執行級別
格式:init[n];其中格式中的n為0~6的級別,轉換級別後系統立即生效。
3. systemctl系統服務管理
① 檢視系統服務啟動狀態。其格式:
systemctl list-unit-files–type service#列出所有讀物,並且檢查是否開機啟動。
② 列出所有處於啟用狀態的服務,其格式為:
systemctl list-unit-files–type service –all
其中:unit:服務名
load:服務是否已經被載入
active:服務活動狀態
description:服務的描述
sub:服務程序狀態
③ 服務狀態控制,其格式:
systemctl [status/start/stop/retart/reload] name.service
④ 服務開機自啟動控制,其格式:
systemctl [enable/disable] name.service
設定crond.service服務為開機自動啟動。
systemctl enable crond.service
搜尋cord服務在系統中是否開機啟動。
systemctl list –unit-files –type service|grep crond
挖礦程序如何處理
說明 挖礦程式一般有主程序和守護程序組成,有些還會通過crontab來啟動定時任務 排查過程 進入挖礦主程序的proc檔案下檢視程序基本資訊,可檢視到程序的執行路徑 cwd檔案 可執行程式所在的路徑 exe fd資料夾下會有網路相關的資訊,一般如此即可發現很多資訊 檢視crontab有無異常情況 檢...
如何處理Linux中的殭屍程序defunct
我們知道,每個unix程序在程序表裡都有乙個進入點 entry 核心程式執行該程序時使用到的一切資訊都儲存在進入點。當用ps命令察看系統中的程序資訊時,看到的就是程序表中的相關資料。當以fork 系統呼叫建立乙個新的程序後,核心程序就會在程序表中給這個新程序分配乙個進入點,然後將相關資訊儲存在該進入...
遊戲開發如何處理美術資源和程式分支?
遊戲開發如何處理美術資源和程式分支比較好?程式策劃美術協作需要版本管理工具,做過端遊手遊,知道全用svn的,美術用alien brain程式用perforce的,美術用svn程式用git的,還有全git的,但遇到美術資源要往版本分支提交或合併回來時總沒有優雅的方案,總會有痛點,尤其在git flow...