目錄 一、進程原理 二、進程工作過程 三、進程類型 四、管理進程 五、前後臺調度 六、定時任務 七、管理定時任務 一、進程原理 進程:指正在運行的程式稱之為進程 程式:指的是沒有運行的代碼 線程:真正的執行者,是複製了一部分進程的代碼,可以完成部分任務的,真正的執行者 二、進程工作過程 進程工作過程 ...
目錄
一、進程原理
二、進程工作過程
三、進程類型
四、管理進程
五、前後臺調度
六、定時任務
七、管理定時任務
一、進程原理
進程:指正在運行的程式稱之為進程
程式:指的是沒有運行的代碼
線程:真正的執行者,是複製了一部分進程的代碼,可以完成部分任務的,真正的執行者
二、進程工作過程
進程工作過程:1.啟動第一個進程(父進程)
2.父進程將資源分配給子進程
3.子進程啟動
進程結束過程:1.子進程結束
2.子進程將資源還給父進程
3.父進程結束,終止進程
特殊進程結束過程:1.父進程提前結束
2.子進程無法返還資源,找不到父進程
3.子進程無法終止,形成僵屍進程
一個進程最重要的是pid(唯一id號),user(進程名),%cup(cup使用率),%mem(物理記憶體使用率)
三、進程類型
父進程:/user/lib/systemd/syste,pid為1,第一個啟動的進程
子進程:ppid可以看到父進程的pid號,如果為0就是沒有父進程
僵屍進程:找不到父進程返還資源分子進程,無法刪除,因為占用資源少所以無需處理,只有重啟才可以停止
進程類型:S休眠狀態
R正在運行
D不可中斷的休眠狀態
Z僵屍進程
T停止狀態,後臺暫停或者處於跟蹤調試狀態
可以看到pid1356是休眠狀態
pid7864是運行狀態
四、管理進程
查看進程:靜態查看和動態查看
靜態查看命令:
1. ps -elf (e:顯示系統內所以進程信息,l長格式顯示信息,f完整格式顯示信息)
s:休眠狀態 uid:進程名 pid:唯一標識 ppid:父進程pid pri:優先順序 ni:謙讓值 sz大小 cmd命令位置
2. ps -aux(a:終端所有進程 u:列出進程的用戶 x:顯示所有終端信息)
進程名 進程號 cpu利用率 硬碟利用率 Ss標識有子進程
ps -aux |grep httpd:可以指定服務名查找
ps -aux |grep 8553:指定uid查找
3.pstree(以樹狀結構列出信息)
可以以樹狀看到自己想要看的進程
pstree -p 只顯示線程顯示時帶上uid,方便查看
pstree -up(可以顯示進程和線程用戶)
動態查看線程:
1.top,可以動態查看進程信息
hi指1分鐘使用
si指5分鐘使用
st指15分鐘使用
可以進行操作,按c可以看按cup使用率排序,按1顯示cup使用的所有信息,q退出
top也可以靜態查看:top -b -n 1(b指以文本格式輸出,n指的時次數)
3.pgrep(查看進程)
pgrep -l "ro"指定查看所有含有ro的進程
pgrep -lu "root"顯示所有屬於root的進程
殺死進程:kill(kill是一個信號,將信號發個內核,內核進行處理,完成殺死進程的操作)
kill -9 強制殺死指定進程
正常是active
kill 9038(httpd的進程號9038)可以看到active是failed狀態
kill -9 9401殺死進程之後,active是的deactivating
如果進程服務是failed狀態原因:1.強制終止
2.啟動失敗
啟動失敗排查步驟:1.檢查網路(ping網關或本機地址127.0.0.1)
2.檢查防火牆(防火牆策略禁用)
3.服務本身出錯(配置文件錯誤)
4.檢查埠(被占用或者防火牆禁止)
5.環境問題(無法解決,更換設備)
五、前後臺調度
Linux進程分為前臺執行和後臺執行,相當於window系統的後臺,顧名思義在後臺也可以執行,不會影響當期的操作
調入後臺:1.vim編輯中 ctrl +z 可以調入後臺
2.配置耗費時間長的命令時在命令尾加入&加入後臺
現在已經進入後臺,可以使用jobs查看後臺進程
jobs可以不加選項直接查看後臺進程
jobs選項:
-l(顯示所有進程帶pid)
-p(只顯示後臺ip)
-n(顯示最近加入的後臺進程)
-r(正在運行的後臺進程)
-s(停止的後臺進程)
六、定時任務
定時任務:指的是重覆的必須的進行操作,類似手機的定時開關機,方便操作。
定時任務格式:* * * * *(分時日月周)
*/2 */2 */2 */2 */2 ls(每2分鐘 每2小時 每2天 每2個月 每2周 查看當前目錄)*/2表示每多少執行
1,5 0 1 1 * ls(每個一月一號的0點的1分鐘和5分鐘執行查看命令)1,5表示不連續
1-5 0 1 1 * ls(每個一月一日的0點1到5分鐘執行查看命令)1-5表示連續
配置文件在/etc/crontab
七、管理定時任務
創建定時任務
crontab -e(e創建)
crontab -e -u(e創建,u指定用戶,預設當前用戶)
修改定時任務
直接進入創建定時任務中修改即可
刪除定時任務
crontab -r(將計劃全部刪除)
查看定時任務
crontab -l (查看當前用戶的計劃任務)