發表文章

目前顯示的是 5月, 2012的文章

[RHCE] Process Manage

圖片
PROCESS 當使用者執行一個程式或一個命令時,就會產生一個程序。PID是程序的ID,PPID就是該程序的父程序ID,UID是執行這個程序的使用者ID。Stat是呈續執行的狀態,分別為休眠、執行、刪除、以及殭屍程序。 所謂的殭屍(Zombie)程序是指父程序呼叫的子程序,在父程序結束時因bug而未結束。這個子程序就會獨自運作到程序結束,這種程序就稱為殭屍程序。程序之間使用signal溝通,代號從1~64號,其中比較重要的有1為重啟,9為強制終止,15為停止。 使用 #ps 以及 #top 指令可以查詢目前系統上的程序。 #ps 是靜態的查詢,常用的參數如下: a:  目前帳號權限可見程序。 u: 查看使用者以及更多的資訊。 x: 系統所有程序。 #top 為動態查詢,使用者可以設定更新秒數自動即時更新。 #top -d [秒數] 可以設定更新的間隔時間。 先前提到程序之間是使用signal溝通的,signal有1~64號動作。可以使用 #kill -l 查詢所有動作編號,以及 #kill [signal編號] [PID] 對程序下命令。 PRIORITY 在 #top 指令中可以看到每個程序的PR值,也就是優先權,預設都是20。另外還有NI值,NI值為-20~19之間,但一般的使用者只能使用0~19。 優先權的算法為PR值加上NI值,所得的值越低優先權越高。 使用者調整程序優先權時,是針對NI值進行設定,設定時會將PR值回復成20。 #nice -n [NI值] [指令] 可針對將要執行的程序設定優先權。 #renice -n [NI值] [PID] 可針對已執行的程序設定優先權。 SCHEDULING 排程的功能為在指定的時間執行指定的程序。主要有兩種排程工具,atd以及crond。 atd是針對一次性的程序進行排程,而crond是針對週期性的程序進行排程。 atd的指令為 #at ,輸入 #at [時間] 後,在輸入所要執行的工作,再按下Ctrl + D結束設定。atd在設定時間上可使用 now +1 min 或 now +3 days 或 4pm +1 week 等方式。 #atg 可查詢目前的排程, #atrm [編號] 可刪除排程。/etc/at.allow為使用者白名單,/etc