linux每日命令(2):ps命令
阿新 • • 發佈:2018-12-05
www. 格式 顯示 eight comm oca clas 多個 linu
ps命令真是我比較常用的命令了,只是也沒咋仔細研究過,最大的用處就是寫代碼的時候,起了多進程,就會占用多個進程,如果程序異常了,進程確沒有kill掉,那麽再啟動程序就會報錯
正常起項目
如果進程被占用了,就會發生:
這時候我就會用到ps 去查哪些進程被占用了,然後給它kill 掉
kill 掉無用的進程
這就是我平時的用處了,可是ps 仔細研究一下,用處還是很多的
Linux中的ps命令是Process Status的縮寫。ps命令用來列出系統中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,如果想要動態的顯示進程信息,就可以使用top命令
要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而 ps 命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。總之大部分信息都是可以通過執行該命令得到的。
一.命令格式:
ps [參數]
二.命令功能:
用於顯示當前進程 (process) 的狀態。
三.命令參數:
參數 | 描述 |
---|---|
-A | 列出所有的行程 |
-e | 等於“-A” |
-a | 顯示現行終端機下的所有進程,包括其他用戶的進程; |
-u | 以用戶為主的進程狀態 ; |
x | 通常與 a 這個參數一起使用,可列出較完整信息。 |
-w | 顯示加寬可以顯示較多的資訊 |
-au | 顯示較詳細的資訊 |
-aux | 顯示所有包含其他使用者的行程 |
-f | 做一個更為完整的輸出。 |
四. 使用實例
1.顯示指定用戶信息
ps -u root
2.顯示所有進程信息,連帶命令行
3.ps 與grep 常用組合用法,查找特定進程
ps -ef|grep uwsgi
[root@localhost autoAweme]# ps -ef|grep uwsgi root 30568 795 0 12月01 ? 00:00:19 /home/hc/project/envs/pgc/bin/uwsgi --ini /home/hc/project/pgc.ini root30578 30568 0 12月01 ? 00:00:00 /home/hc/project/envs/pgc/bin/uwsgi --ini /home/hc/project/pgc.ini root 66069 795 1 12:07 ? 00:04:29 /home/hc/project/envs/autoAweme/bin/uwsgi --ini /home/hc/project/autoAweme.ini root 66096 66069 0 12:07 ? 00:00:01 /home/hc/project/envs/autoAweme/bin/uwsgi --ini /home/hc/project/autoAweme.ini root 80022 86053 0 16:06 pts/1 00:00:00 grep --color=auto uwsgi
4.將目前屬於您自己這次登入的 PID 與相關信息列示出來
ps -l
說明:
各相關信息的意義:
標誌 | 意義 |
---|---|
F | 代表這個程序的旗標 (flag), 4 代表使用者為 super user |
S | 代表這個程序的狀態 (STAT),關於各 STAT 的意義將在內文介紹 |
UID | 程序被該 UID 所擁有 |
PID | 就是這個程序的 ID ! |
PPID | 則是其上級父程序的ID |
C | CPU 使用的資源百分比 |
PRI | 指進程的執行優先權(Priority的簡寫),其值越小越早被執行; |
NI | 這個進程的nice值,其表示進程可被執行的優先級的修正數值。 |
ADDR | 這個是內核函數,指出該程序在內存的那個部分。如果是個 running的程序,一般就是 "-" |
SZ | 使用掉的內存大小 |
WCHAN | 目前這個程序是否正在運作當中,若為 - 表示正在運作 |
TTY | 登入者的終端機位置 |
TIME | 使用掉的 CPU 時間。 |
CMD | 所下達的指令為何 |
5.列出目前所有的正在內存當中的程序
ps aux
結果
[root@localhost autoAweme]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 125804 4260 ? Ss 11月30 0:15 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 11月30 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 11月30 0:56 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< 11月30 0:00 [kworker/0:0H] root 7 0.0 0.0 0 0 ? S 11月30 1:01 [migration/0] root 8 0.0 0.0 0 0 ? S 11月30 0:00 [rcu_bh] root 9 0.3 0.0 0 0 ? S 11月30 19:02 [rcu_sched]
說明
標誌 | 意義 |
---|---|
USER | 該 process 屬於那個使用者賬號的 |
PID | 該 process 的號碼 |
%CPU | 該 process 使用掉的 CPU 資源百分比 |
%MEM | 該 process 所占用的物理內存百分比 |
VSZ | 該 process 使用掉的虛擬內存量 (Kbytes) |
RSS | 該 process 占用的固定的內存量 (Kbytes) |
TTY | 該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若為 pts/0 等等的,則表示為由網絡連接進主機的程序。 |
STAT | 該程序目前的狀態 |
START | 該 process 被觸發啟動的時間 |
TIME | 該 process 實際使用 CPU 運作的時間 |
COMMAND | 該程序的實際指令 |
感謝https://www.cnblogs.com/huchong/p/10065246.html
linux每日命令(2):ps命令