Note For Linux By Jes(11)-程序管理与SELinux 初探
什么是程序(Process):
子程序與父程序:
fork and exec:程序呼叫的流程:
系統(tǒng)或網(wǎng)絡(luò)服務(wù):常駐在內(nèi)存的程序
多重登陸環(huán)境的七個基本終端窗口:/etc/inittab
工作管理(jobcontrol):
job control 的管理:直接將命令丟到背景中『運行』的&
將『目前』的工作丟到背景中『暫停』:[ctrl]-z
觀察目前的背景工作狀態(tài):jobs
將背景工作拿到前景來處理:fg對應(yīng)&
讓工作在背景下的狀態(tài)變成運行中:bg對應(yīng)[ctrl]-z
管理背景當中的工作:kill
離線管理問題:nohup
程序管理:
程序的觀察:
ps :將某個時間點的程序運行情況擷取下來
僅觀察自己的bash 相關(guān)程序:ps -l
F:代表這個程序旗標(process flags),說明這個程序的總結(jié)權(quán)限,常見號碼有:
-
若為4 表示此程序的權(quán)限為root ;
-
若為1 則表示此子程序僅進行復制(fork)而沒有實際運行(exec)。
-
-
S:代表這個程序的狀態(tài)(STAT),主要的狀態(tài)有:
-
R (Running):該程序正在運行中;
-
S(Sleep):該程序目前正在睡眠狀態(tài)(idle),但可以被喚醒(signal)。
-
D :不可被喚醒的睡眠狀態(tài),通常這支程序可能在等待I/O 的情況(ex>列印)
-
T :停止狀態(tài)(stop),可能是在工作控制(背景暫停)或除錯(traced) 狀態(tài);
-
Z(Zombie):僵尸狀態(tài),程序已經(jīng)終止但卻無法被移除至內(nèi)存外。
-
-
UID/PID/PPID:代表『此程序被該UID 所擁有/程序的PID 號碼/此程序的父程序PID 號碼』
-
C:代表CPU 使用率,單位為百分比;
-
PRI/NI:Priority/Nice的縮寫,代表此程序被CPU 所運行的優(yōu)先順序,數(shù)值越小代表該程序越快被CPU 運行。詳細的PRI 與NI 將在下一小節(jié)說明。
-
ADDR/SZ/WCHAN:都與內(nèi)存有關(guān),ADDR是kernel function,指出該程序在內(nèi)存的哪個部分,如果是個running 的程序,一般就會顯示『- 』/ SZ 代表此程序用掉多少內(nèi)存/ WCHAN 表示目前程序是否運行中,同樣的,若為 - 表示正在運行中。
-
TTY:登陸者的終端機位置,若為遠程登陸則使用動態(tài)終端介面(pts/n);
-
TIME:使用掉的CPU 時間,注意,是此程序?qū)嶋H花費CPU 運行的時間,而不是系統(tǒng)時間;
-
CMD:就是command 的縮寫,造成此程序的觸發(fā)程序之命令為何。
觀察系統(tǒng)所有程序:ps aux
top:動態(tài)觀察程序的變化
pstree:程序之間的相關(guān)性
程序的管理:
kill -signal PID
killall -signal 命令名稱
| 代號 | 名稱 | 內(nèi)容 |
| 1 | SIGHUP | 啟動被終止的程序,可讓該PID 重新讀取自己的配置檔,類似重新啟動 |
| 2 | SIGINT | 相當於用鍵盤輸入[ctrl]-c 來中斷一個程序的進行 |
| 9 | SIGKILL | 代表強制中斷一個程序的進行,如果該程序進行到一半,那么尚未完成的部分可能會有『半產(chǎn)品』產(chǎn)生,類似vim會有.filename.swp 保留下來。 |
| 15 | SIGTERM | 以正常的結(jié)束程序來終止該程序。由於是正常的終止,所以后續(xù)的動作會將他完成。不過,如果該程序已經(jīng)發(fā)生問題,就是無法使用正常的方法終止時,輸入這個 signal 也是沒有用的。 |
| 17 | SIGSTOP | 相當於用鍵盤輸入[ctrl]-z 來暫停一個程序的進行 |
| ? |
Priority 與Nice 值
nice :新運行的命令即給予新的nice 值
renice :已存在程序的nice 重新調(diào)整
系統(tǒng)資源的觀察:
free :觀察內(nèi)存使用情況
uname:查閱系統(tǒng)與核心相關(guān)資訊
uptime:觀察系統(tǒng)啟動時間與工作負載
netstat :追蹤網(wǎng)絡(luò)或插槽檔
dmesg :分析核心產(chǎn)生的信息
vmstat :偵測系統(tǒng)資源變化
特殊文件與程序:
具有SUID/SGID 權(quán)限的命令運行狀態(tài)
/proc/* 代表的意義
fuser:藉由文件(或文件系統(tǒng))找出正在使用該文件的程序
lsof :列出被程序所開啟的文件檔名
pidof :找出某支正在運行的程序的PID
SELinux初探:
SELinux 的運行模式:
安全性本文的一般配置為:『Identify:role:type』其中又以type 最重要;
SELinux 的模式有:enforcing, permissive, disabled 三種,而啟動的政策(Policy) 主要是targeted
SELinux 啟動與關(guān)閉的配置檔在:/etc/selinux/config
SELinux 的啟動與觀察:getenforce, sestatus 等命令
重設(shè)SELinux 的安全性本文可使用restorecon 與chcon
在SELinux 有啟動時,必備的服務(wù)至少要啟動setroubleshoot
若要管理默認的SELinux 布林值,可使用getsebool, setsebool 來管
總結(jié)
以上是生活随笔為你收集整理的Note For Linux By Jes(11)-程序管理与SELinux 初探的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新手小白学JAVA 日期类Date Si
- 下一篇: linux 其他常用命令