寫在前面:《鳥哥的linux私房菜–基礎篇》第16章筆記
文章目錄
1.什麼是進程?
1.1 進程與程序
在linux中,觸發任何一個事件時,系統都會將他定義成爲一個進程,並且給予這個進程一個ID,稱爲PID,同時依據啓發這個進程的用戶與相互屬性關係,給予這個PID一組有效的權限設定
子進程&父進程
fork and exec:進程呼叫的流程
注:系統或網絡服務:常駐在內存的進程
1.2 Linux的多人多任務環境
ps -aux進行進程管理
2.工作管理(job control)
2.1 什麼是工作管理?
2.2 job control的管理
直接將指令丟到背景中[執行]的 &
& 代表【將工作丟到背景中去執行】,這樣的情況的最大的好處是:不怕被ctrl+c中斷啦!
注意:[1]只是工作號碼,只與你這個bash環境有關,14547是PID
將[目前]的工作丟到背景中[暫停]:ctrl+z
觀察目前的背景工作狀態:jobs
將背景工作拿到前景來處理:fg
讓工作在背景下的狀態變成運作中:bg
管理背景當中的工作:kill
2.3 脫機管理問題
nohup可以讓你在脫機或註銷系統後,還能夠讓工作繼續進行
3. 進程管理
3.1 進程的觀察
ps:將某個時間點的進程運行情況擷取下來
top:動態觀察進程的變化
3.2 進程的管理
kill -signal PID
killall -signal 指令名稱
3.3 關於進程的執行順序
Priority與Nice值
3.4 系統資源的觀察
- free:觀察內存使用情況
- uname:查閱系統與核心相關信息
- uptime:觀察系統啓動時間與工作負載
- netstat:從追蹤網絡或插槽文件
- dmesg:分析核心產生的信息
- vmstat:偵測系統資源變化
4.特殊文件與進程
4.1 具有SUID/SGID權限的指令執行狀態
4.2 /proc/* 代表的意義
4.3 查詢已開啓文件或已執行進程開啓之文件
- fuser:籍由文件(或文件系統)找出正在使用該文件的進程
- lsof:列出被進程所開啓的文件檔名
- pidof:找出某支正在執行的程序的PID