程序與程式
程式:通常為二進位制程式放置在儲存媒介中(如硬碟、光碟、軟盤、磁帶等),以物理檔案的形式存在。
程序:程式被觸發後,執行者的許可權與屬性、程式的程式**與所需資料等都會被載入到記憶體中,作業系統並給與這個記憶體中的單元乙個識別符號,可以說,程序就是乙個正在執行的程式。
子程序與父程序
fork and exec:過程呼叫的流程
在linux的過程呼叫中通常稱為fork-and-exec的流程!程序都會通過父程序以複製(fork)的方式產生乙個一模一樣的子程序,然後被複製出來的子程序再以exec的方式來執行實際要進行的程序,最終成為乙個子程序的存在。
其流程有點類似於下面這張圖:
系統或網路服務:常駐記憶體的程序
例如:crond、atd、syslog等
工作管理
工作管理是用在bash環境下的,也就是說:當我們登入系統取得bash shell之後,在單一終端機下同時進行多個工作的行為管理。
在進行工作管理的行為中,其實每個工作都是目前bash的子程序,即彼此之間是有相關性的。我們無法以job control的方式由tty1的環境去管理tty2的bash。
要進行bash的job control必須要注意到的限制是:
1、這些工作所觸發的程序必須來自於你shell的子程序(只管理自己的bash)
2、前台:你可以控制與執行命令的這個環境成為前台的工作
3、後台:可以自行執行的工作,你無法使用ctrl+c來終止它,可使用bg/fg呼叫該工作
4、後台中「執行」的程序不能等待terminal/shell的輸入
job control的管理
&:將命令丟到後台中執行
ctrl+z:將目前的工作丟到後台中暫停
jobs:檢視目前的後台工作狀態
fg:將後台的工作拿到前台來處理
bg:讓工作在後台下的狀態變為執行中
kill:管理後台當中的工作
nohup:離線管理
程序管理
ps aux:檢視系統所有的程序
ps -l:檢視自己的bash相關程序
ps axjf:類似程序樹顯示
top:動態檢視程序的變化
pstree
free:檢視記憶體使用情況
netstat:跟蹤網路
Linux程式管理
程式 通常以二進位制放置在儲存媒介中,以物理檔案的形式存在 程序 程式被觸發後,執行者的許可權與屬性 程式的 與所需資料都會被載入到記憶體中,作業系統並給與這個記憶體內的乙個單元識別符號 pid 程序就是正在執行中的程式 程序彼此之間具有相關性 觸發任何乙個事件時,系統都會將他定義成為乙個程序,並且...
kali筆記(十二)程式管理
概念 程式 通常為二進位制程式放置在儲存媒介中 如硬碟 光碟 軟盤 磁帶等 以物理檔案的形式存。程序 程式被觸發後,執行者的許可權與屬性 程式的程式 與所需資料等都會被載入到記憶體中,作業系統並給予這個記憶體內的單元乙個識別符號 pid 可以說,程序就是乙個正在執行的程式。pid 觸發任何乙個事件時...
Linux 程式管理和SELinux
一 工作管理 將命令丟到後台執行 tar zpcf tmp etc.tar.bz2 etc 但執行過程中產生了 stdin 和stdout 會直接輸出到螢幕上,因此需要重定向的方式使用 ctrl z 將目前的工作丟到後台中暫停 直接按jobs 檢視目前的後台工作狀態 jobs lrs l 除了列出 ...