程序就是執行的程式,程式是二進位制檔案。但是程序並不僅僅是二進位制檔案,因為程序還包含了其他的資源,比如要占用記憶體,訊號,狀態核心資料等。
父程序複製自己的位址空間(fork)建立乙個新的(子)程序結構。每個新程序分配乙個,唯一的程序 id(pid),滿足跟蹤安全性之需。任何程序都可以建立子程序。所有程序都是第乙個系統程序的後代。
(1)執行
(2)暫停
(3)等待
(4)睡眠
(5)殭屍
centos5/6系統程序: init
centos7系統程序:systemd
user: 執行程序的使用者
pid: 程序id
我們雲工程師靠pid,殺死他
%cpu: cpu佔用率
%mem: 記憶體佔用率
vsz: 占用虛擬記憶體
rss: 占用實際記憶體
tty: 程序執行的終端
stat: 程序狀態
[常見]
r 執行
s 睡眠 sleep
t 停止的程序
z 殭屍程序
x 死掉的程序
start: 程序的啟動時間
time: 程序占用cpu的總時間
分鐘:秒
command: 程序檔案,程序名
ps 是靜態檢視程序
top是動態檢視程序
ps a 是顯示現行終端機下的所有程式
ps u以使用者為主的格式來顯示程式狀況
ps x不以終端機來區分
語法:ps aux --sort %cpu
語法:ps –ef
語法:ps axo user,pid,ppid,cmd | head -3
這兩個對比一下就可以看出區別
語法:top
第一行:
第二行:
第三行:
第四行:
第五行:
常用指令:m按記憶體的使用順序
p 按cpu的使用順序
n 以pid的大小排序
< 向前
> 向後
z 顏色
動態檢視程序 top,像windows的任務管理器
top //回車,立刻重新整理。按z彩色顯示,按f,通過游標設定列的順序。
top -d 1 //每1秒重新整理。
top -d 1 -p 10126 //檢視指定程序的動態資訊
top -d 1 -p 10126,1 //檢視10126和1號程序
(1)訊號的種類
給程序傳送訊號(kill -l列出所有支援的訊號)
使用命令:kill -l
編號 訊號名
sigint 鍵盤中斷ctrl+c
sigquit 鍵盤退出ctrl+\,類似sigint
sigkill 強制終止,無條件
sigterm 終止(正常結束),預設訊號
sigcont 繼續
sigstop 暫停
20)sigtstp 鍵盤暫停ctrl+z在使用時,是使用前面的編號,例如要強行終止:kill -9 4362(pid)
簡介:因為每個cpu在乙個時間點上只能處理乙個程序,通過時間片技術,來同時執行多個程式。所有就有了優先順序nice。
檢視程序的優先順序:
簡介:作業控制也叫後台執行。
bg(background):後台程序,它是看不進的。
(1)ps檢視所有程式
(2)jobs檢視後台所有程式
(3)調動後台程式到前台
(4)將調動的前台程式調至後台
(5)消滅後台程式
解釋:虛擬檔案系統:採集伺服器自身 核心、程序執行的狀態資訊。
cpu /proc/cpuinfo
記憶體 /proc/meminfo
核心 /proc/cmdline
檢視的時候需要使用cat命令。
linux後台程序管理學習小記
1.top 在執行命令 後面 代表放在後台 執行 2.top 在按下命令後ctrl z,代表放在後台 暫停 jobs l 選項 l 顯示工作的pid root tj dev jobs 1 stopped top root tj dev jobs l 1 18186 stopped signal to...
Linux核心之程序管理(學習筆記)
1 支援執行緒的計算機系統裡面,程序作為資源分配的基本單位而存在,執行緒作為排程的基本單位而存在。執行緒僅擁有必不可少的一些資源,如 一組暫存器 堆疊資訊等等和其他執行緒共享同乙個程序的所有資源。所以,在同乙個程序的執行緒切換時不需要大量的儲存和恢復工作,同時由於共享同乙個儲存空間,不需要更新快表t...
RABC許可權管理學習
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...