6.Linux中的进程管理
1.進程
進程的定義
? ? 程序是靜態的代碼文件;進程是指程序運行時的形態
? ? 進程是程序的一個副本(copy程序到內存,相當于副本)
? ? 進程是有生命周期的
? ? ? ? 準備期:準備資源(類似于執行“打掃教室任務”前,“拿掃把”)
? ? ? ? 運行期:執行過程
? ? ? ? 終止期:執行后程序所占用的系統資源被回收
進程和線程
? ? ? ? 進程:進程是資源調用的最小單位。所有事件由cpu處理,當一個事件cpu,其他事件就無法占用處于,等待用完才可以使用cpu。
? ? ? ? 雙核、三核cpu:為使充分使用cpu,一個事件細劃分成若干個小的線程,加速cpu同時處理。
? ? ? ? 線程是進程的最小單位
????????程序執行流是從上到下貫穿運行的
????????當進程是多任務,cpu是多核心時,多任務應該同時被每個核心處理,每個核心處理的任務叫線程資源。 線程資源是共享的
進程狀態
R(TASK_RUNNING)
????????##可執行態:正在被cpu處理,或已經加載好等待被cpu處理
S(TASK_INTRRUPTABLE)
????????##可喚醒休眠:使用cpu超時,進入休眠,再次使用時需要被激活
D(TASK_UNINTRRUPTABLE)
????????##不可喚醒休眠:使用cpu超時,仍有資源沒有被加載好,不可以使用cpu
T(TASK_STOP)
????????##暫停狀態:關閉無法使用程序,但可以人為喚醒
Z(EXIT_ZOMBLE)
? ? ? ? ##僵死態:進程已經結束,卻占用資源不放,需要手動結束程序?!癰ug”
2.進程查看命令?
gnome-system-monitor ????????##圖形進程查看工具 ps 進程查看 ????????ps 命令的三種執行風格 unix bsd GNU ps a ????????與終端相關的進程(當用戶登陸系統后產生的進程都是帶終端的) ps x???????? 與終端無關相關的進程 ps u ????????用戶信息歸類的查看方式?ps?f? ? ? ? ? 進程層級關系
ps o ????????顯示指定參數 ?pid comm nice pri pcpu ppid stat,user,group
ps
ps -e ????????顯示所有進程
ps -f???????? 顯示信息的完整格式
ps -H????????顯示進程的層級結構
ps?-o ????????顯示指定參數
ps?--sort=? ? #排序
正序,從小到大,例:ps axo %cpu --sort=%cpu
倒序,從大到小,例:ps axo %cpu --sort=-%cpu
?
3.進程優先級?
系統時多任務多用戶的操作模式 任務的重要性是有區分的 如何確定任務的重要性 “優先級” 范圍: 0--139 內核自控優先級范圍:0-99 用戶可控優先級:100-139 nice :-20?-?19 renice -n -5 43331 ##更改優先級(普通用戶只能把自己的優先級改低) nice -n -5 cat ##指定優先級打開進程 ps ax -o pid,nice,comm | grep cat ? ps ---- > pri --- 39-0 nice? ?-20?-?19 priority 0-139 (100-139) S???????? #sleeping < ????????#優先級高 s???????? #頂級進程 T???????? #stop N???????? #優先級底 R????????#running + ????????#運行在前臺4.進程前后臺調用
<ctrl>+<z> ????????##把占用shell的進程打入后臺掛起 bg? ? ? ? ? ? ? ? ? ? ? ##把后臺掛起的進程運行起來 fg? ? ? ? ? ? ? ? ? ? ? ?##把后臺進程調回前臺 & ? ? ? ? ? ? ? ? ? ? ??##運行進程在后臺 jobs????????????????? ##查看當前shell中在后臺的所有工作5.進程信息號?
man 7 signal #進程信號 1 ????????#重新家在系統配置文件(source) 2 ????????#清空內存中的進程數據 3 ????????#清空內存中的鼠標(ctrl+\) 9 ????????#強行結束進程(不能被阻塞) 15???????? #正常關閉進程(會被阻塞) 18 ????????#運行被暫停的進程 19 ????????#暫停進程(不會被阻塞) 20 ????????#暫停進程(會被阻塞的)? #進程信號控制工具 kill 進程信號 pid killall 進程信號 進程名字 pkill 進程信號 進程條件
6.systemd守護進程
? ##實驗環境
#linux.westos.com -------- > 172.25.254.10 #node1.westos.com ----------> 172.25.254.20 查找ip #遠程操作主機 #ssh 遠程主機ip -l 遠程主機用戶 ?ssh -l root 172.25.254.20 #守護進程 #替內核分擔程序控管的程序 #通常pid為1 #systemd -----> systemctl #systemctl 管理系統服務 #服務指在系統中開啟的共享系統資源到網絡中的程序 #cs client ------ server #systemctl命令的用法 start???????????????????????????????? ##開啟 stop???????????????????????????????? ##關閉 status? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ##查看狀態 reload? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ##重新加載 restart? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ##重新啟動服務 enable? ? ? ? ? ? ? ? ? ? ? ? ? ? ?##設定服務開機啟動 enable --now? ? ? ? ? ? ? ? ? ?##設定服務開機啟動,并當前開啟服務 disable? ? ? ? ? ? ? ? ? ? ? ? ? ? ##設定服務開啟不其動 list-units? ? ? ? ? ? ? ? ? ? ? ? ? ##查看系統所有服務當前狀態 list-unit-files? ? ? ? ? ? ? ? ? ? ##查看服務開機狀態 list-dependencies? ? ? ? ? ?##列出服務依賴性 mask? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ##凍結服務 unmask? ? ? ? ? ? ? ? ? ? ? ? ? ##解鎖 set-default? ? ? ? ? ? ? ? ? ? ? ##設定系統運行模式 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #multi-user.target 無圖形網絡模式 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #graphical.target 有圖形的網絡模式 get-default? ? ? ? ? ? ? ? ? ? ?##查看系統運行模式
?
? ##系統運行模式 ? #0-6 init 0 ????????POWEROFF init 1 ????????single init 2 ????????noG+NETWORK(開機2,3,4都無圖形) init 3 init 4 init 5 ????????G+NETWORK 開機有圖形 init 6 ????????REBOOT 重啟
?7.系統中的登陸審計?
w ##顯示正在登陸系統的賬號 ## -i 顯示登陸來源?
#/var/run/utmp last ##登陸成功現在已經退出的 ##/var/log/wtmp lastb ##試圖登陸但未成功 ##/var/log/btmp?
總結
以上是生活随笔為你收集整理的6.Linux中的进程管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单元测试自动生成测试用例
- 下一篇: 赢在微点答案专区英语_学乐必赢练习册30