大家好,我是 god23bin。歡迎來到《一分鐘學一個 Linux 命令》系列,每天只需一分鐘,記住一個 Linux 命令不成問題。今天要說的是 ps
命令。
ps
的英文全稱是 process status
,意思是程序狀態。
ps
命令是一個常用的 Linux 命令,用於檢視當前系統中執行的程序資訊。它提供了關於程序的各種詳細資訊,如程序 ID(PID)、程序狀態、CPU 使用情況、記憶體佔用、執行時間等。
ps
命令的基本語法如下:
ps [選項引數]
可以通過新增不同的選項來獲取不同型別的程序資訊。
直接輸入 ps
,顯示當前程序:
ps
輸出結果包含 4 列資訊:PID、TTY、TIME、CMD
有時候當我們執行 ps
命令時,TIME 顯示為 00:00:00
。這意味著該程序尚未使用 CPU ,所以沒有 CPU 執行的總時間。
對於上面的 bash
,就是這種情況,因為 bash
只是其他需要藉助 bash
執行的程序的父程序,所以它本身並沒有使用 CPU,也就沒有 CPU 執行時間了。
上面的輸出實際上不是很有用,因為它包含的資訊不多。一般我們都是加上引數的。
以下是一些常用的 ps
命令範例:
ps -e
該命令等價於 ps -A
,這裡的 e
和 A
分別是 every
和 all
的意思,所以等價。
我們開啟一個新的終端,在新的終端中輸入 man ps
,接著我們回到原來的終端,輸入以下命令:
ps -a
輸出顯示:
PID TTY TIME CMD
23290 pts/1 00:00:00 man
23301 pts/1 00:00:00 less
23324 pts/0 00:00:00 ps
注意:
pst/1
表示一個偽終端(pseudo-terminal),同理pst/0
也是,0 和 1 只是終端的索引,當開啟多個視窗時,將遞增下去。
現在我們就可以在終端 0 看到終端 1 的程序了(man 命令和 less 命令的程序)
以下是一些常用的 ps
命令選項引數:
-e
:(every)顯示所有程序,而不僅僅是當前使用者的程序-u
:(user)顯示面向使用者的程序的詳細資訊,如程序所有者、CPU 使用率、記憶體使用率等-f
:(full-format)以全格式的列表顯示程序的資訊,包括程序之間的層級關係-p
:(pid)查詢具有指定程序 ID 的程序-C
:(Command)查詢具有指定命令名稱的程序-aux
:以詳細格式顯示所有正在執行的程序,其中 x
指的是在沒有控制終端的情況下列出程序,這些顯示的主要是啟動並執行在後臺的程序ps -e
這將顯示所有程序的資訊,無論是當前使用者的還是其他使用者的。
ps -u
該命令將顯示程序的詳細資訊,包括程序所有者、CPU 使用率、記憶體使用率等。
可以看到輸出更多列了,每列的意思是這樣的:
ps -f
%CPU
的意思相同,程序使用的 CPU 資源的百分比,或者說程序的 CPU 使用率START
的意思相同,程序啟動的時間我們可以通過 -ef
來檢視更多的程序的資訊:
ps -ef
ps -p PID
將 PID
替換為要查詢的程序的實際程序 ID。這將顯示具有指定程序 ID 的程序的資訊。
比如現在我知道了一個程序的 PID 是 1333
,想看詳細資訊,那麼可以輸入:
ps -p 1333 -f
ps -C command_name
將 command_name
替換為要查詢的程序的命令名稱。這將顯示具有指定命令名稱的程序的資訊。
ps 可以通過管道符 |
和其他命令結合使用。
比如要將 ps
命令的輸出,將這些輸出通過管道交給 grep
命令進行匹配,找到我們想要的程序,起到一個過濾輸出顯示結果的作用,比如像找到屬於 root
使用者的程序,就可以輸入:
ps -ef | grep root
想找到 bash
命令的程序,那麼就可以輸入:
ps -ef | grep bash
ps
命令的使用,相信你通過這一分鐘的學習已經掌握了,這是個很常用的命令,它有很多選項,但實際上,我們平常一般只用到 ps -aux
或者 ps -ef
來檢視相關的正在執行的程序資訊,或者當某些情況下想要找到某個程序,定位某個程序,就會使用 ps -ef | grep 程序名或者命令名
來進行匹配定位。
以上就是 ps
命令的基本內容,希望本文能夠幫助大家更好地理解和應用 mv
和 cp
命令。如果你對其他 Linux 命令也感興趣,敬請期待我後續的文章。謝謝大家的閱讀!
希望各位螢幕前的靚仔靚女們給個三連!你輕輕地點了個贊,那將在我的心裡世界增添一顆明亮而耀眼的星!
咱們下期再見!