歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux進程管理的4個常用命令

Linux進程管理的4個常用命令

日期:2017/3/3 16:23:02   编辑:關於Linux

Linux是一個多用戶、多任務的操作系統。在這樣的系統中,各種計算機資源(如文件、內存、CPU等)的分配和管理都以進程為單位。為了協調多個進程對這些共享資源的訪問,操作系統要跟蹤所有進程的活動,以及它們對系統資源的使用情況,從而實施對進程和資源的動態管理。進程在一定條件下可以對諸如文件、數據庫等客體進行操作。如果進程用作其他不法用途,將給系統帶來重大危害。在現實生活當中,許多網絡黑客都是通過種植“木馬”的辦法來達到破壞計算機系統和入侵的目的,而這些“木馬”程序無一例外的是需要通過進程這一方式在機器上運行才能發揮作用的。另外,許多破壞程序和攻擊手段都需要通過破壞目標計算機系統的合法進程尤其是重要系統進程,使得系統不能完成正常的工作甚至無法工作,從而達到摧毀目標計算機系統的目的。作為服務器中占絕大多數市場份額的Linux系統,要切實保證計算機系統的安全,我們必須對其進程進行監控和保護。

Linux操作系統包括如下三種不同類型的進程,每種進程都有其自己的特點和屬性:

交互進程:由一個shell啟動的進程。交互進程既可以在前台運行,也可以在後台運行。

批處理進程:這種進程和終端沒有聯系,是一個進程序列。

守護進程:Linux系統啟動時啟動的進程,並在後台運行。

上述三種進程各有各的作用,使用場合也有所不同。

Linux系統提供了who、w、ps和top等察看進程信息的系統調用,通過結合使用這些系統調用,我們可以清晰地了解進程的運行狀態以及存活情況,從而采取相應的措施,來確保Linux系統的安全。

1、who命令

該命令主要用於查看當前在線上的用戶情況。系統管理員可以使用who命令監視每個登錄的用戶此時此刻的所作所為:

# who
root     pts/1        2010-02-21 15:56 (:0.0)

2、w命令

該命令也用於顯示登錄到系統的用戶情況,但是與who不同的是,w命令功能更加強大,它不但可以顯示有誰登錄到系統,還可以顯示出這些用戶當前正在進行的工作,w命令是who命令的一個增強版:

# w
 15:56:44 up 38 min,  1 user,  load average: 0.56, 0.15, 0.12
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/1    :0.0             15:56    0.00s  0.19s  0.05s w

3、ps命令

最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。ps命令可以監控後台進程的工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設備進行通信的,如果需要檢測其情況,可以使用ps命令。下面是一個ps命令的例子:

# ps
  PID TTY          TIME CMD
 2817 pts/1    00:00:00 bash
 2836 pts/1    00:00:00 ps

4、top命令

top命令和ps命令的基本作用是相同的,顯示系統當前的進程和其他狀況;但是top是一個動態顯示過程,可以通過用戶按鍵來不斷刷新當前狀態。如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止。比較准確地說,top命令提供了實時的對系統處理器的狀態監視。它將顯示系統中CPU最“敏感”的任務列表。該命令可以按CPU使用。內存使用和執行時間對任務進行排序;而且該命令的很多特性都可以通過交互式命令或者在個人定制文件中進行設定。下面是一個top命令的例子:

# top
top - 15:58:07 up 39 min,  1 user,  load average: 2.09, 0.68, 0.30
Tasks: 112 total,   2 running, 108 sleeping,   0 stopped,   2 zombie
Cpu(s): 30.6%us, 25.2%sy,  0.0%ni, 41.2%id,  0.3%wa,  2.7%hi,  0.0%si,  0.0%st
Mem:    485736k total,   477828k used,     7908k free,    31252k buffers
Swap:  1285160k total,        0k used,  1285160k free,   291192k cached
 
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                          
 2502 root      15   0 36680  10m 5776 S 40.0  2.2   0:54.26 Xorg                                             
 2814 root      15   0  127m  16m  10m S  3.0  3.5   0:03.62 gnome-terminal                                   
 2616 root      15   0 97356  14m  10m S  2.6  3.1   0:02.43 gnome-panel                                      
 2609 root      15   0 38660  10m 7544 S  2.0  2.1   0:01.57 metacity                                         
 2640 root      15   0 96276  13m 9448 S  2.0  2.7   0:01.46 wnck-applet                                      
 2597 root      15   0 33916 8144 6768 S  1.0  1.7   0:01.32 gnome-settings-                                  
 2618 root      15   0  133m  20m  14m S  1.0  4.4   0:04.66 nautilus                                         
 2709 root      15   0 16396 3488 2736 S  0.7  0.7   0:02.72 gnome-screensav                                  
 2837 root      15   0  2160 1008  788 R  0.7  0.2   0:00.31 top                                              
 2855 root      15   0  106m  22m  14m S  0.7  4.8   0:01.87 gedit                                            
 2035 root      18   0 33180 1276  536 S  0.3  0.3   0:01.51 pcscd                                            
 2076 root      21   0  9336 1108  856 S  0.3  0.2   0:00.35 automount                                        
 2313 root      18   0  1920  624  544 S  0.3  0.1   0:03.46 hald-addon-stor                                  
 2665 root      15   0  2528 1156  948 S  0.3  0.2   0:00.26 gam_server                                       
 2703 root      15   0 64020  24m  14m S  0.3  5.3   0:02.39 /usr/bin/sealer                                  
 2713 root      15   0 49500 6528 3484 S  0.3  1.3   0:00.31 scim-panel-gtk                                   
    1 root      15   0  2036  640  548 S  0.0  0.1   0:02.16 init                                             
    2 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                      
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0                                      
    4 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                       
    5 root      10  -5     0    0    0 S  0.0  0.0   0:00.06 events/0                                         
    6 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 khelper                                          
    7 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 kthread                                          
   10 root      10  -5     0    0    0 S  0.0  0.0   0:00.26 kblockd/0   
 
       

以上介紹的是目前在Linux下使用得最常見的進程狀況查看工具,它們是隨Linux套件發行的,安裝好系統之後,用戶就可以使用。當然,隨著開源的不斷發展,相信將會有更多的該方面的工具出現,以方便用戶選擇和使用。

現在我們已經介紹了Linux文件系統保護與進程管理方面需要注意的事項。對於Linux系統的全方位管理,還需要注意用戶管理和日志管理方面的保護,這些將在之後的文章中進行介紹。

Copyright © Linux教程網 All Rights Reserved