1. 程式人生 > >linux----系統程序及服務的控制

linux----系統程序及服務的控制

1.什麼是程序
程序就是系統為完成且正在進行的工作
2.檢視程序
1>圖形方式檢視
gnome-system-monitor
在這裡插入圖片描述
2>程序檢視命令
ps -A 所有程序
-a 在當前環境中執行的程序,不包含環境資訊
-u 顯示程序的使用者資訊
a 在當前環境中執行的程序
x 列出系統所有執行包含tty輸出裝置的程序
f 顯示程序的父子關係
e 顯示程序的詳細資訊(系統資源呼叫)
在這裡插入圖片描述
3>ps常用組合
ps aux 顯示系統中所有程序並顯示程序使用者
ps ef 顯示程序中所有資訊並顯示程序的父子關係
ps ax 顯示當前系統中的所有程序
在這裡插入圖片描述
在這裡插入圖片描述
4>顯示程序的指定資訊
ps ax -o xxx 顯示程序的指定資訊
comm 程序名稱
user 程序所有人
group 程序所有組
%cpu 程序cpu使用率
%men 程序記憶體使用率
pid 程序id
nice 程序優先順序

5>程序排序
ps ax --sort=
+%cpu|-%cpu
+%men|-%men
ps ax --sort=+%cpu -o %cpu |grep -v %cpu |head -n 5
在這裡插入圖片描述
6> stat中資訊
s 程序狀態
l 記憶體中有鎖定空間
N 優先順序低
< 優先順序高

  • 前臺執行
    s 頂級程序
    3.程序優先順序
    1>程序優先順序範圍
    -20~19
    2.檢視
    ps ax -o pid,nice,comm
    3.指定某個優先順序開啟程序
    nice -n 優先順序數字 程序名稱
    nice -n -5 vim & 開啟vim並且指定程式優先順序位-5
    4.改變程序優先順序
    renice -n 優先順序數字 程序pid
    renice -n -5 1608 改變pid為1608的 程序優先順序為-5
    在這裡插入圖片描述

    5.環境中程序的前後臺呼叫
    jobs 檢視被打入後臺的程序
    ctrl+z 把佔用終端的程序打入後臺
    fg jobnum 把後臺程序調回前臺
    bg jobnum 把後臺暫停的程序執行
    comm & 讓命令直接在後臺執行
    vim不能在後臺執行
    在這裡插入圖片描述
    6.程序訊號
    常用訊號等級
    1 程序重新載入配置(重點)
    2 刪除程序在記憶體中的資料
    3 刪除滑鼠在記憶體中的資料
    9 強行結束單個程序(不可被阻塞)
    15 正常關閉程序(可能會被阻塞)
    18 執行暫停的程序
    19 暫停某個程序(不能被阻塞)
    20 把程序打入後臺(可以被阻塞)
    man 7 singal
    kill -訊號 程序pid
    killall -訊號 程序名字
    pkill -訊號 -u student
    7.程序的動態監控
    1.top
    1 顯示cpu每個核的負載
    s 調整重新整理頻率
    c cpu負載排序
    m 記憶體使用量排序
    h 檢視幫助
    u 檢視指定使用者程序
    k 對指定使用者發起訊號
    q 退出
    在這裡插入圖片描述

    8.服務控制
    1>系統初始化程序可以對服務進行控制
    2>系統初始化程序
    systemd 系統初始化程序
    pstree 顯示系統程序樹
    在這裡插入圖片描述
    在這裡插入圖片描述
    3>程序控制命令
    systemctl 服務控制命令
    systemctl start sshd 開啟服務
    systemcl stop sshd 關閉服務
    systemctl status sshd 檢視服務狀態,inactive(不可用),active(可用)
    systemctl restart sshd 重啟服務
    systemctl reload sshd 重新載入服務配置
    systemctl enable sshd 設計服務開機啟動
    systemctl disable sshd 設定服務開機不啟動
    systemctl list-units 列出已經開啟服務當前狀態
    systemctl list-unit-files 列出所有服務開機狀態(enable,disable,static)
    systemctl list-dependencies 列出服務的依賴性
    systemctl set-default multi-user.target 設定系統啟動級別為多使用者模型(無圖形)
    systemctl set-default graphical.targer 設定系統啟動級別為圖形模式