linux之程序及服務的控制
阿新 • • 發佈:2018-11-09
什麼是程序?
程序就是系統中正在執行的程式
1.圖形的程序檢視方式
gnome-system-moniter
輸入指令後,就打開了如下圖的程序管理器,相當於iwindows的工作管理員,可以檢視正在執行的程式
提示: “ls /proc“:檢視程序資訊
2.檢視程序的命令
指令 | 解釋 |
---|---|
ps | 檢視與當前環境相關的程序 |
ps a | 與當前環境相關的所有程序 |
ps -a | 終端中執行的程序但不包含當前環境程序資訊 |
ps -A | 檢視系統所有的程序 |
ps -e | 檢視系統中所有的程序 |
ps x | 檢視系統中所有含有輸出終端的程序 |
ps f | 檢視程序的從屬關係 |
ps u | 程序的所有人 |
ps ax | 顯示所有的程序 |
ps aux | 顯示包含其他使用者的程序資訊 |
ps -o | 可以設定指定的資訊 |
- 顯示指定的資訊
ps ax -o comm,nice,PID,%cpu,%MEN,VSZ,RSS,TTY,STAT,START,TIME,COMMAND
來了解一下上面指令的含義:
指令 | 作用 |
---|---|
comm | 該指令表示會從指定的輸入裝置中讀取資料 |
nice | 該指令表示優先順序 |
%cpu | 程序在cpu中的佔有率 |
%men | 程序的實體記憶體佔有率 |
VSZ | 虛擬記憶體佔用的大小 |
RSS | 佔有固定記憶體的大小 |
TTY | 字元裝置 |
stat | 該程式目前的狀態 |
start | 程序開始的時間 |
time | 程序執行的時間 |
command | 所執行的命令 |
接下來我們看看程序狀態的一些理解:
指令 | 作用 |
---|---|
S | 程序狀態 |
s | 此程序為頂級程序 |
T | 程序暫停 |
< | 程序優先順序高 |
N | 程序優先順序低 |
+ | 正在執行 |
D | 不可中斷的靜止 |
R | 正在執行中 |
Z | 已經停止但是暫時無法消除 |
W | 沒有足夠的記憶體去分配 |
3.排序顯示程序的資訊
- 按cpu使用率從小到大進行排序:
ps ax --sort=%cpu
- 按cpu是使用率從大到小進行排序:
ps ax --sort=-%cpu
提示:獲取前五行的“head -n 5”,獲取後五行的是“tail -n 5”;獲取3~5行的是“sed -n 3,5p”
4.程序的優先順序
優先順序的數值是-20~19,數值越小優先順序越高,預設的數值是10.
普通使用者的數值只有0-19,超級使用者才是-20~19
- 修改程序的優先順序:
renice -n -5 pid
由上圖可以看出我們可以通過pid修改程序的優先順序
- 指定優先順序開啟程序
nice -n -5 命令&
提示:-5是可以變化的,在-19~20中選擇優先順序,“&”
這裡的代表的是將啟動的程式放到後臺
5.程序前後臺的呼叫
將已啟動的程式打入後臺並停止執行:ctrl+z
將啟動的程式的程序結束掉:ctrl+c
如圖所示crtl+z將文字放入了後臺並停止執行,圖片中是我手動將文字放出來的,只是為了展示文字無法編輯
- 檢視被打入後臺的程序:jobs
如圖所示,我將gedit以及vim放進了後臺,所以jobs指令可以直接檢視後臺程序
- 將指定程序在後臺執行:
bg jobsnum
- 將指定程序調回前臺
fg jobsnum
6.訊號
- 常用的訊號理解
訊號 | 作用 |
---|---|
1 | 程序不停止情況下重新載入配置 |
2 | 清除程序在記憶體中的資料 |
3 | 清除滑鼠在記憶體中的資料 |
9 | 強行結束程序,不能被阻塞 |
15 | 正常關閉程序 |
18 | 執行停止的程序 |
19 | 暫停程序,不能被阻塞 |
20 | 暫停程序,可以被阻塞 |
- 執行kill
kill 訊號 pid
killall 訊號 程序名
這個是當一個程式被同時開啟多次時,可以用它去結束