1. 程式人生 > >linux菜鳥基礎學習 (四)

linux菜鳥基礎學習 (四)

工作 進程優先級 監控系統 emctl 負載 img http 狀態 界面

一.進程

1.進程定義:

進程就是cpu未完成的工作.

2.ps命令

ps
a ##關於當前環境的所有進程
x| -A ##所有進程
f ##顯示進程從屬關系
e ##顯示進程調用環境工具的詳細信息
l ##長列表顯示進程的詳細信息
ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat ##指定顯示進程的某些信息
%cpu ##顯示進程cpu負載
%mem ##顯示進程內存負載
user ##進程用戶
group ##進程組
comm ##進程名稱
nice ##進程優先級
pid ##進程的id
stat ##進程狀態

ps aux ##顯示進程信息
ps -ef ##顯示進程信息
####stat中顯示的信息
S ##進程狀態
l ##內存中有鎖定空間
N ##優先級低
< ##優先級高

  • ##前臺運行
    s ##頂級進程

技術分享圖片

技術分享圖片

ps ax -o %cpu,comm --sort <+|-%cpu > <+|-%mem> ##按照進程信息排序

  • ##正序
  • ##倒序
    重要兩個進程排序的方式:因為內存和cpu比較重要。
    %cpu ##cpu負載排序
    %mem ##內存負載
    ps ax -o %cpu --sort +%cpu 按照cpu占用率來正序排列進程
    ps ax -o %cpu --sort -%cpu 按照cpu占用率來逆序排列進程

技術分享圖片

3.進程優先級

1.進程的優先級範圍
-20~19

2.優先級查看
ps ax -o pid,nice,comm

技術分享圖片

3.指定某個優先級開啟進程
nice -n 優先級數字 進程名稱
nice -n -5 vim & ##開啟vim並且指定程序優先級為-5,&代表在後臺建立
ps ax -o pid,nice,comm 查看進程
renice -n 5 進程號 修改進程號為*的進程的優先級為5

技術分享圖片

4.改變進程優先級
reince -n 優先級數字 進程pid
renice -n -5 1806 ##改變1806進程的優先級為-5
root@desktop0 ~]# ps a -o pid,nice,comm

PID NI COMMAND
614 0 Xorg
1128 0 agetty
1625 0 bash
1785 0 vim
1806 -5 vim
1824 -5 vim
1835 0 ps

技術分享圖片

技術分享圖片

4.環境中進程的前後臺調用

jobs ##查看被打入環境後臺的進程
ctrl+z ##把占用終端的進程停止打入後臺
fg jobsnum ##把後臺進程調回前臺
bg jobsnum ##把後臺暫停的進程運行
comm & ##讓命令直接在後臺運行
gedit oo 建立文件OO,OO在前臺運行,占用終端,終端命令行無法輸入命令
ctrl+z 把占用終端的進程00停止打入後臺,進程狀態顯示stopped
fg 1 把後臺的進程 gedit OO調回前臺,占用終端,終端命令行無法輸入命令
bg 1 把後臺暫停的進程放到後臺運行,進程狀態顯示&,不占用終端,終端命令行可以輸入命令

技術分享圖片

技術分享圖片

5.進程信號

1.常用信號等級
1 ##進程重新加載配置
2 ##刪除進程在內存中的數據
3 ##刪除鼠標在內存中的數據
9 ##強行結束單個進程(不能被阻塞)
15 ##正常關閉進程 (可能會被阻塞)
18 ##運行暫停的進程
19 ##暫停某個進程 (不能被阻塞)
20 ##把進程打入後臺 (可以被阻塞)
man 7 signal ##查看信號詳細信息

kill -信號 進程pid
killall -信號 進程名字
pkill -u student -信號
kill
kill -20 和ctrl+z都是將進程暫停打入後臺
區別:ctrl+z 適用於圖形化界面,如gedit kill -20 適用於所有的進程

6.用戶登陸審記

1
w ##查看使用系統的當前用戶有那些
w -f ##-f查看使用地點

2
last ##查看用戶登陸成功歷史
3.
lastb ##查看用戶登陸未成功歷史

7.top命令

top ##監控系統負載工具
m : 根據內存占有率進行排序
c : 根據 cpu 占有率進行排序
u : 後面輸入用戶名 , 用來查看該用戶發起的所有進程
k : 後面跟要作用的進程 pid, 和發起的信號 (eg:9,15,20) 用來
給某個進程發起一信號
q : 退出進程查看界面
h : 顯示 top 命令的幫助

8.系統服務的控制

1.systemd
系統初始化程序,系統開始的第一個進程,pid為1

2.systemctl 命令
systemctl list-units ##列出當前系統服務的狀態
systemctl list-unit-files ##列出服務的開機狀態
systemctl status sshd ##查看指定服務的狀態
systemctl stop sshd ##關閉指定服務
systemctl start sshd ##開啟指定服務
systemctl restart sshd ##從新啟動服務
systemctl enable sshd ##設定指定服務開機開啟
systemctl disable sshd ##設定指定服務開機關閉
systemctl reload sshd ##使指定服務從新加載配置
systemctl list-dependencies sshd ##查看指定服務的倚賴關系
systemctl mask sshd ##凍結指定服務
systemctl unmask sshd ##啟用服務
systemctl set-default multi-user.target ##開機不開啟圖形
systemctl set-default graphical.target ##開機啟動圖形
setterm ##文本界面設定color

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

3.服務狀態
systemctl status 服務名稱

技術分享圖片

loaded ##系統服務已經初始化完成,加載過配置
active(running) ##正有一個或多個程序正在系統中執行,
vsftpd 就是這種模式

atcive(exited) ##執行一次就正常結束的服務
目前沒有任何程序在系統中執行

atcive(waiting) ##正在執行當中,
不過還再等待其他的事件才能繼續處理

inactive ##服務關閉
enbaled ##服務開機啟動
disabled ##服務開機不自啟
static ##服務開機啟動項不可被管理
failed ##系統配置錯誤

linux菜鳥基礎學習 (四)