目錄

linux 進程

如何查看 Linux 正在執行的進程

如果你要查看 Linux 伺服器上所有正在執行的進程並發現哪些進程消耗您的資源最多?在本文中,我們將解釋如何使用幾個常見的 Linux 命令列出進程。

Linux 進程介紹

進程(process):進程是程式在一個資料集合上的一次執行過程,在早期的UNIX、Linux 2.4及更早的版本中,它是系統進行資源分配和調度的獨立基本單位。。它們可以在打開應用程式或通過命令行終端發出命令時啟動。但是,一個應用程式可以為不同的任務執行多個進程。例如,每次打開新標籤時,谷歌瀏覽器都會啟動不同的進程。

進程可以作為前台或後台進程啟動。每個 Linux 進程都被分配了一個唯一的PID(進程標識號)。

有時,進程可能會消耗大量資源,需要被殺死。或者,有時您可能想要更改進程的優先級,因此系統將為其分配更多資源。無論如何,所有這些任務都要求您做同樣的事情:列出 Linux 上正在執行的進程。

如何列出 Linux 正在執行的進程?

如果您想要列出 Linux 正在執行中的進程,可以使用以下三個指令之一:ps、top或htop。

ps 指令命令列出的是當前那些進程的快照,而 top 和 htop 按 CPU 使用率動態排序。

現在讓我們深入了解它們每一個使用方式。

使用 ps 命令

ps(進程狀態)指令是生成所有正在執行進程的快照。因此,與 Windows 任務管理器不同,結果是靜態的。

ps 指令

當這個指令在沒有任何參數或選項的情況下使用時,它將返回一個正在運行的進程列表以及四個關鍵提示:
PID、終端名稱(TTY)、執行時間(TIME)和啟動命令的名稱進程(CMD)。
您可以使用ps aux獲取有關正在執行進程的更深入資訊。

以下是每個參數說明:

  • a:輸出系統的所有執行進程。
  • u:提供附加資訊,例如 RAM 和 CPU 使用百分比、進程狀態代碼和進程所有者。
  • x:列出所有未從終端執行的進程。例如守護進程,它們是系統啟動時在後台執行與系統相關的進程。
ps aux 指令

如果要在分層視圖中列出 Linux 進程,請使用 ps -axjf 命令。在這種格式下,shell 會將子進程置於父進程之下。

ps -axjf

除了這兩個選項之外,下面是列出 Linux 正在執行的進程的 ps 命令其他常見範例:

  • ps -u [username]:列出某個用戶的所有正在執行的進程。
  • ps -e或ps -A:以通用 UNIX 的格式顯示活動的 Linux 進程。
  • ps -T:列出從終端執行的活動進程。
  • ps -C :process_name將按進程名稱過濾列表。此外,該命令還顯示指定進程的所有子進程。

使用 top 命令

top 指令是用於查看資源密集執行進程。這個指令會按 CPU 使用率在列表進行排序,因此消耗資源最多的進程將被置於頂部。檢查特定進程是否正在執行也很有用。

使用top指令呈現樣貌

請記住,以下的”快捷鍵”有分大小寫,因此請確保不要啟用大寫鎖定。

快捷鍵功能說明
k刪除(kill)一個進程。
M依 RAM 使用情況對列表進行排序。
N依 PID 對列表進行排序。
r更改進程的優先級。
h顯示幫助窗口。
z以顏色顯示正在運行的進程。
d更改刷新時間間隔。
c顯示進程的絕對路徑。
CTRL+C or q停止 top 指令。

使用 htop 命令

htop 和 top 命令都是在列出 Linux 進程時顯示相同資訊,但小編比較喜歡使用htop,因為 htop 的介面比教親民友善與直覺,讓此用者非常容易一目了然。

首先,htop 命令允許您垂直和水平滾動。因此,您可以看到 Linux 進程完整列表以及它們的完整指令行。

最讓小編喜歡的是 htop 可以讓使用者使用鼠標選定項目、殺死刪除進程而不插入其 PID、輕鬆更改多個進程的優先級等等。

當然最大的不便之處是大部分 Linux 發行版都沒有把這個命令作為基本指令,所以你另行安裝 htop 這指令。

如果您使用 CentOS7 / Fedora / AlmaLinux / Rocky Linux,則可以通過執行以下指令來安裝 htop:

				
					yum install htop -y
				
			

如果您使用 Debian / Ubuntu,則可以通過執行以下指令來安裝 htop:

				
					sudo apt-get install htop
				
			

安裝後,輸入 htop,您便看到 Linux 進程的列表。如下方圖示:

htop畫面

當然 htop 也有幾個快捷鍵方便管理,這些快捷鍵就在 htop 畫面下方有 F1 ~ F9,我們就來簡單說明每個快捷鍵功能:

快捷鍵功能說明
F1顯示幫助Menu。.
F2打開 htop 設置。
F3搜尋一個進程。
F4依名稱過濾進程。
F5在樹狀視圖中顯示進程。
F6依列對進程進行排序。
F7降低進程的優先級。
F8增加進程的優先級。
F9殺死(刪除)一個進程。

結論

了解如何列出 Linux 操作系統中所有正在執行的進程非常重要。當您需要管理流程或是找出木馬時,這些知識將很有用。

經由介紹後你會喜歡這三個命令中的哪一個?在下面的評論分享您的想法!

掌握其他 Linux 命令

如何在 Linux 中管理 Sudo 用戶
如何在 Linux 中終止進程
如何利用 Ping 指令測試連接
如何使用 Dig 指令進行 DNS 查詢
如何在 Linux 中列出伺服器服務
如何在 Linux 中更改用戶密碼

TAKI Cloud 雲端主機
TAKI Cloud 雲端主機 只要470元起
TAKI Cloud 實體主機 Dedicated Server
TAKI Cloud 實體主機 只要4,500起
TAKI Cloud 中華電信 主機代管 服務
TAKI Cloud 主機代管 只要2,000元起

( ! ) Warning: Undefined variable $post in /var/www/vhosts/www.taki.com.tw/httpdocs/blog/wp-content/themes/newsup/inc/ansar/hooks/hook-index-main.php on line 117
Call Stack
#TimeMemoryFunctionLocation
10.0005366072{main}( ).../index.php:0
20.0009366496require( '/var/www/vhosts/www.taki.com.tw/httpdocs/blog/wp-blog-header.php ).../index.php:17
31.477213117256require_once( '/var/www/vhosts/www.taki.com.tw/httpdocs/blog/wp-includes/template-loader.php ).../wp-blog-header.php:19
41.602014755776include( '/var/www/vhosts/www.taki.com.tw/httpdocs/blog/wp-content/themes/newsup/single.php ).../template-loader.php:106
51.766015941568get_template_part( $slug = 'template-parts/content', $name = 'single', $args = ??? ).../single.php:10
61.766015942144locate_template( $template_names = [0 => 'template-parts/content-single.php', 1 => 'template-parts/content.php'], $load = TRUE, $load_once = FALSE, $args = [] ).../general-template.php:206
71.766015942304load_template( $_template_file = '/var/www/vhosts/www.taki.com.tw/httpdocs/blog/wp-content/themes/newsup/template-parts/content-single.php', $load_once = FALSE, $args = [] ).../template.php:745
81.766215942768require( '/var/www/vhosts/www.taki.com.tw/httpdocs/blog/wp-content/themes/newsup/template-parts/content-single.php ).../template.php:812
91.766415942832do_action( $hook_name = 'newsup_action_main_single_content' ).../content-single.php:17
101.766415943208WP_Hook->do_action( $args = [0 => ''] ).../plugin.php:517
111.766415943208WP_Hook->apply_filters( $value = '', $args = [0 => ''] ).../class-wp-hook.php:348
121.766415943960call_user_func_array:{/var/www/vhosts/www.taki.com.tw/httpdocs/blog/wp-includes/class-wp-hook.php:324}( $callback = 'newsup_single_content', $args = [0 => ''] ).../class-wp-hook.php:324
131.766415944032newsup_single_content( '' ).../class-wp-hook.php:324

By taki

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *