unix/linux 下的程序管理
1. 程序與程式
~~~~~~~~~~~~~
1) 程序就是執行中的程式。乙個執行著的程式,
可能有多個程序。程序在作業系統中執行特定的任務。
2) 程式是儲存在磁碟上,
包含可執行機器指令和資料的靜態實體。
程序或者任務是處於活動狀態的電腦程式。
2. 程序的分類
~~~~~~~~~~~~~
1) 程序一般分為互動程序、批處理程序和守護程序三類。
2) 守護程序總是活躍的,一般是後台執行。
守護程序一般是由系統在開機時通過指令碼自動啟用啟動,
或者由超級使用者root來啟動。
3. 檢視程序
~~~~~~~~~~~
1) 簡單形式
# ps
以簡略方式顯示當前使用者有控制終端的程序資訊。
2) bsd風格常用選項
# ps -axu
a - 所有使用者有控制終端的程序
x - 包括無控制終端的程序
u - 以詳盡方式顯示
w - 以更大列寬顯示
3) svr4風格常用選項
# ps -efl
-e或-a - 所有使用者的程序
-a - 當前終端的程序
-u 使用者名稱或使用者id - 特定使用者的程序
-g 組名或組id - 特定組的程序
-f - 按完整格式顯示
-f - 按更完整格式顯示
-l - 按長格式顯示
4) 程序資訊列表
user/uid: 程序的使用者id。
pid: 程序id。
%cpu/c: cpu使用率。
%mem: 記憶體使用率。
vsz: 占用虛擬記憶體大小(kb)。
rss: 占用物理記憶體大小(kb)。
tty: 終端次裝置號,「?」表示無控制終端,如後台程序。
stat/s: 程序狀態。可取如下值:
o - 就緒。等待被排程。
r - 執行。linux下沒有o狀態,就緒狀態也用r表示。
s - 可喚醒睡眠。系統中斷,獲得資源,收到訊號,
都可被喚醒,轉入執行狀態。
d - 不可喚醒睡眠。只能被wake_up系統呼叫喚醒。
t - 暫停。收到sigstop訊號轉入暫停狀態,
收到sigcont訊號轉入執行狀態。
w - 等待記憶體分頁(2.6核心以後被廢棄)。
x - 死亡。不可見。
z - 殭屍。已停止執行,但其父程序尚未獲取其狀態。
< - 高優先順序。
n - 低優先順序。
l - 有被鎖到記憶體中的分頁。實時程序和定製io。
s - 會話首程序。
l - 多執行緒化的程序。
+ - 在前台程序組中。
start/stime: 程序開始時間。
time: 程序執行時間。
command/cmd: 程序指令。
f: 程序標誌。可由下列值取和:
1 - 通過fork產生但是沒有exec。
4 - 擁有超級使用者特權。
ppid: 父程序id。
ni: 程序nice值,-20到19,可通過系統呼叫或命令修改。
pri: 程序優先順序。
靜態優先順序 = 80 + nice,60到99,值越小優先順序越高。
核心在靜態優先順序的基礎上,
根據程序的互動性計算得到實際(動態)優先順序,
以體現對io消耗型程序的獎勵,
和對處理器消耗型程序的懲罰。
addr: 核心程序的記憶體位址。普通程序顯示「-」。
sz: 占用虛擬記憶體頁數。
wchan: 程序正在等待的核心函式或事件。
psr: 程序當前被指派給哪個處理器執行。
4. 父程序、子程序、孤兒程序和殭屍程序
-------------------------------------
核心程序(0)
init(1)
xinetd
in.telnetd
login
bash
vi1) 父程序啟動子程序後,
子程序在作業系統的排程下與其父程序同時執行。
2) 子程序先於父程序結束,
子程序向父程序傳送sigchld(17)訊號,
父程序**子程序的相關資源。
3) 父程序先於子程序結束,子程序成為孤兒程序,
同時被init程序收養,即成為init程序的子程序。
4) 子程序先於父程序結束,
但父程序沒有**子程序的相關資源,
該子程序即成為殭屍程序。
5. 程序識別符號(程序id)
~~~~~~~~~~~~~~~~~~~~~
pid - 程序號,是程序在作業系統中的唯一標識,程序號的分配採用延遲重用的策略進行的,在每乙個時刻都可以保證程序號唯一。
二、get***id
------------
getpid
- 獲取程序id
getppid
- 獲取父程序id
getuid
- 獲取實際使用者id
geteuid
- 獲取有效使用者id
getgid
- 獲取實際組id
getegid
- 獲取有效組id
《Unix Linux程式設計實踐教學》筆記
ctrl alt t 開啟命令列終端 chapter 1概述 目錄操作 1 ls 列出目錄內容 eg ls 列出當前目錄內容 ls etc 列出 etc目錄裡面所包含的檔案和子目錄 2 cd 改變當前目錄 剛登入系統時,當前目錄是自己的主目錄 eg cd bin 轉到 bin目錄下 cd.轉到上一層...
unix linux 環境軟體除錯筆記
員工培訓 ppt 內容 靜態 跟蹤 正規表示式簡介 函式定義 find h 查詢函式宣告 sclass function 使用 在檔案中查詢 功能 find name 轉到某一行 括號匹配 分析 1 摺疊 2 變數查詢與替換 左值和右值 3 比較 ulteredit 其它的工具 editplus 優...
UNIX linux中的引號
unix中的引號分為三種 單引號,雙引號,反引號 單引號 用單引號括起來的字元作為普通字元,即使是特殊字元也不例外.雙引號 除了 和 這幾個字元仍是特殊字元保持其特殊效能以外,其他的字元全部作為普通字元.其中 是用其後指定的變數的值代替此變數和 是轉移字元,指出對其後的字元不做特殊處理.反引號 反引...