在Linux上要看Process(處理程序、程序、進程)的狀況可以使用top指令,直接在Terminal上輸入top就會進入互動介面。預設情況會進入互動模式,並且不斷更新顯示近況,如果想尋找特定的Process可以參考以下方式。

搜尋與排序

搜尋使用者

按下u會看到上方出現 Which user (blank for all) ,這時候輸入要搜尋的帳號名稱再按下Enter即可。想清除搜尋條件顯示全部的帳號的Process的話,重新按下u之後直接點擊Enter,輸入空白名稱就會回到顯示所有帳號Process的畫面。

搜尋應用程式

按下o會看到上方出現 add filter #1 (ignoring case) as: [!]FLD?VAL ,這時候要輸入欄位名稱與要搜尋的名字,例如要搜尋java相關的:COMMAND=java,按下Enter之後就會顯示COMMAND中包含java的Process。可以再次按下o重複上面步驟增加第二個篩選條件。

想要清除搜尋條件顯示所有Process的話,直接點選鍵盤的等於=就會刪除那些篩選條件了。

排序

  • 依照記憶體使用量排序:大寫M,補充小寫m是切換記憶體相關資訊的顯示方式。
  • 依照CPU使用率排序:大寫P
  • 依照CPU使用時間排序:大寫T,補充小寫t是切換CPU相關資訊的顯示方式。
  • 依照PID排序:大寫N
  • 反向排序:大寫R,按下後會依照現在排序的狀況反向排序,例如按下M改用記憶體使用量排序後,再按下R就會變成按照記憶體使用量從小到大排序,再按一次又會反過來。

其他操作

移動與換頁

  • 一次移動一格:方向鍵上下鍵
  • 一次移動一頁:大於小於

補充方向鍵左右也可以向兩邊移動,當資訊太多時會用上。

開啟說明

  • 方法一:在終端機輸入top -h顯示簡易說明。
  • 方法二:在終端機輸入man top顯示詳細說明。
  • 方法三:在互動模式下按下h,再按一次h顯示下一頁,按下q回到互動模式。

離開Top

在互動模式下按下q即可。

小補充-Program與Process

Program常見翻譯是程式、應用程式,是指一個(或一些集合)可以被作業系統執行的程式碼。而Process常見翻譯是處理程序、程序、進程,Program被作業系統載入擁有生命週期後才會成為Process。一個Program可以產生多個Process,例如小算盤在硬碟裡面通常只有一個,可是我們可以同時開啟好幾個小算盤。

一個Process會在記憶體中擁有一個區塊,拿來放置程式碼、Heap、Stack等資料,一個Process底下又可以產生多個Thread(執行緒、線程),甚至是子Process等。在作業系統概論與一些程式語言設計的課程(不是學怎麼使用程式語言,而是學怎麼設計一門程式語言)可以學到許多更深入的概念。