1. 程式人生 > >linux基礎學習【4】

linux基礎學習【4】

pre signal 暫停 image 虛擬內存 所有 pid vpd -m

系統進程

一.什麽是進程

進程 : 一個正在運行中的程序

程序被觸發後,執行者的權限與屬性,程序的程序碼與所需數據等都會被載入內存中,操作系統會給予這個內存內的單元一個識別碼 (PID)。

二.查看進程

1.圖形方式查看

命令:`gnome-system-monitor`

技術分享圖片


2.進程查看命令

命令:`ps`
ps  -A/-e       顯示所有(包括不同終端不同用戶)進程(PID,TTY,TIME,CMD)
ps  -a      當前環境中運行的進程,不包含環境信息(PID,TTY,TIME,CMD)
ps  -u (username)   顯示當前(username)用戶進程信息(USER,PID,CPU,MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND)
ps   a      顯示當前終端環境中(包括不同用戶)運行的進程
ps   x      列出系統中所有運行包含tty輸出設備
ps    f     顯示進程的父子關系
ps   e      顯示進程中的詳細信息(列出程序所使用的環境變量)

常用組合

ps   -aux   顯示系統中所有進程並顯示進程用戶
ps   -ef    顯示進程詳細信息並顯示父子進程關系
ps   -ax    顯示系統中所有進程
ps     -o       顯示進程的指定信息
ps     -o   comm      進程名稱
ps     -o   user         進程所有人
ps     -o   group      進程所有組
ps     -o   %cpu       進程cpu使用率
ps     -o   %mem     進程內存使用率
ps     -o   pid         進程id
ps     -o   nice          進程優先級
PID                             :進程編號
TTY                            :命令所執行的終端(tty1-tty6是本機登入者,pts/0等是網絡連接主機的程序)
STAT                         :進程狀態
TIME                          :運行程序占用cpu的時間
COMMAND/CMD    :改程序的實際指令
%CPU                       :進程占用CPU百分比
%MEM                       :進程占用內存百分比
VSZ                           :虛擬內存集,進程占用的虛擬內存空間
RSS                           :物理內存集,進程占用的實際物理內存空間

shell查看進程

技術分享圖片


進程排序

ps  --sort= +%cpu        正序顯示cpu占用率排序進程結果
ps  --sort= -%mem       逆序顯示內存占用率排序進程結果

按照CPU占用率順序顯示前10行

技術分享圖片


三.進程的狀態與優先級

STAT 顯示狀態:

                                    R   正在運行
                                    S   可喚醒的睡眠狀態
                                    D   不可喚醒的睡眠進程
                                    T   停止狀態
                                    Z   僵屍進程
                                    l     內存中有鎖定空間
                                    N   優先級低
                                    <   優先級高
                                    +   前臺進程
                                    s   頂級進程

NI 顯示優先級:

1.優先級範圍

-20——19(-20最高,19最低)

2.優先級查看

ps ax -o pid,nice,comm

技術分享圖片


3.改變進程優先級

renice -n  5 pid        將進程id為pid的進程優先級變為5
renice -n -5 6574   將進程id為6574的進程優先級變為-5

運行vim並監控pid和優先級,初始優先級為0,pid為15813

技術分享圖片


利用renice -n 5 15813修改vim優先級為5

技術分享圖片


4.指定某個優先級開啟進程

nice -n                      優先級數字 進程名稱
nice -n -5 vim &       後臺開啟vim並且指定優先級為-5

技術分享圖片


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

jobs                 查看被打入後臺的進程
ctrl+z             把占用終端的進程打入後臺
fg jobsnum   把後臺進程調回前臺
bg jobsnum  繼續運行後臺暫停的進程
comm &        讓命令直接在後臺運行

打開vim和gedit並放置後臺,利用jobs查詢

技術分享圖片


命令後加&直接在後臺打開vim

技術分享圖片


五.進程信號

1.常用進程信號等級

1     進程重新加載配置
2   刪除進程在內存中的數據
3      刪除鼠標在內存中的數據
9     強行結束目標進程(不可被阻塞)
15  正常關閉進程(可能會被阻塞)
18  運行暫停的進程 
19  暫停某個進程(不可被阻塞)
20  把進程打入後臺(可以被阻塞)

2.利用信號等級管理進程

man 7 signal 查看信號詳細信息
kill        -信號等級 pid              對進程編號為pid的進程進行管理
killall -信號等級 comm         對所有名稱為comm進程管理
pkill   -信號等級 -u -student 根據特定條件控制進程

打開vim並後臺

技術分享圖片


強制結束進程vim

技術分享圖片


六.動態監控進程top

命令:`top`
進入top界面後輸入
【s】:修改進程刷新間隔時間
【m】:根據內存占有率進行排序
【c】:根據cpu占有率進行排序
【u】:後面輸入用戶名,用來查看該用戶
【k】:後面跟要管理的進程pid,和發起的信號(eg:9,15,20)
【q】:退出進程查看界面
【h】:顯示top命令的幫助界面

輸入s修改刷新時間

技術分享圖片


輸入c根據cpu占有率排序

技術分享圖片


linux基礎學習【4】