1. 程式人生 > >linux中系統程序和服務的管理

linux中系統程序和服務的管理

1.什麼是程序

程序就是系統未完成並且正在完成的工作

2.檢視程序

1.用命令檢視,在shell中輸入
gnome-system-monitor

在這裡插入圖片描述
2直接在開機介面後的左上角,依次點選
Applications---->System Tools---->System Monitor

3.程序檢視命令

 ps  -A ##所有程序
     -a ##在當前環境中執行的程序,不包括環境資訊
     -u ##顯示程序使用者資訊
      a ##在當前環境中執行的程序
      x ##列出系統中所有執行包含tyy輸出裝置
      f ##顯示程序的父子關係
      e ##顯示程序的詳細資訊(系統資源呼叫)

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
ps的常用組合

ps aux ##顯示系統中所有程序並顯示程序使用者
ps ef  ##顯示程序詳細資訊並顯示程序父子關係
ps ax  ##顯示當前系統中的所有程序
pstree ##顯示當前系統的程序樹

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
顯示程序指定資訊

ps -o xxx      ##顯示程序的指定資訊
      comm     ##程序名稱
      user     ##程序所有人
      group    ##程序所有組
      %cpu     ##程序cpu使用率
      %mem     ##程序記憶體使用率
      pid      ##程序id
      nice     ##程序優先順序

在這裡插入圖片描述
在這裡插入圖片描述
程序排序

ps -ax --sort
          +%cpu|-%cpu       
          ##按照cpu使用量正序排列,或者倒敘排列
          +%mem|-%mem      
          ##按照記憶體使用量正序排列,或者倒敘排列

在這裡插入圖片描述
在這裡插入圖片描述
stat中顯示的資訊
S    程序狀態
1    記憶體中有鎖定空間
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 -8 3332     改變3332程序的優先順序為-8
在這裡插入圖片描述

4.環境中程序的前後臺呼叫

jobs 檢視被打入環境後臺的程序
ctrl+z 把佔用終端的程序打入後臺
fg jobsnum 把後臺程序調回前臺
bg jobsnum 把後臺暫停的程序執行
comm & 讓命令直接在後臺執行
在這裡插入圖片描述

5.程序訊號

1.常用訊號等級
1         程序重新載入配置

2         刪除程序在記憶體中的資料

3         刪除滑鼠在記憶體中的資料

9         強行結束單個程序(不能被阻塞)

15         正常關閉程序(可能會被阻塞)

18         執行暫停的程序

19         暫停某個程序(不能被阻塞)

20         把程序打入後臺(可以被阻塞)

man 7 signal   檢視訊號詳細資訊

kill -訊號 程序pid

killall -訊號 程序名字

pkill -u student -訊號
在這裡插入圖片描述

6.程序的動態監控

1.top

 1.		顯示cpu每個核的負載 
 s 		調整重新整理頻率 
 c 		cpu負載排序 
 m 	記憶體使用量排序 
 h 		檢視幫助 
 u 		檢視指定使用者程序 
 k 		對指定程序發起訊號 
 q 		退出

在這裡插入圖片描述

7.控制服務

1.什麼是服務
service(也成為daemon)表示後臺執行的程式,一般隨系統的啟動而自動的啟動,且在使用者logoff後仍能繼續執行。
可以使用工具 /usr/sbin/service來檢視和管理系統上的所有的service
2.用什麼控制服務
系統初始化程序可以對服務進行相應的控制
3.當前系統初始化程序是什麼
systemd    系統初始化程序
pstree       顯示系統中的程序樹
在這裡插入圖片描述
4.程序控制命令
ssh---------->shhd
client(客戶端) server(服務端)

ystemctl 服務控制命令
systemctl status sshd 檢視服務狀態,inactive(不可用),active(可用) 
systemctl start sshd 開啟服務 
systemctl stop sshd 關閉服務 
systemctl restart sshd 重啟服務 
systemctl reload sshd 重新載入服務配置 
systemctl enable sshd 設定服務開機啟動 
systemctl disable sshd 設定服務開機不啟動 
systemctl list-units 列出已經開啟服務當前狀態
systemctl list-unit-files 列出所有服務開機啟動的狀態disable,enable,static 
systemctl list-dependencies sshd 列出服務的依賴 
mask 服務被凍結