ps命令用於獲取有關在Linux,Unix和BSD系統上運行的進程的詳細信息。 ps有一些流行的選項和用例,其中一個是aux選項。
ps命令的默認行為是僅列出當前用戶進程。 所有其他用戶擁有的進程將不會顯示。a選項也會列印所有其他用戶進程。《Linux就該這么學》
關於顯示流程信息的默認行為不會列印流程的所有者。 但是在大多數情況下,流程所有者數據將非常有幫助。 因此,我們可以使用u選項來顯示進程所有者。
ps默認情況下僅顯示終端連接過程。 如果要顯示其他未連接到終端的進程,可以使用x選項。
#a 選項也會列印所有其他用戶進程。
# u顯示進程所有者。
#x顯示其他未連接到終端的進程
『貳』 Linux單獨的ps命令作用是什麼
Linux ps命令,英文全拼process
status。用於顯示當前進程的狀態,類似於Windows的任務管理器。運用該命令可以確定有哪些進程正在運行和運行地狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多地資源等等。
Linux系統中ps命令如何使用?
語法
ps [options] [--help]
參數(ps的參數比較多,在這里為大家簡單列舉幾個常用的)
-A 列出所有的進程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
au(x) 輸出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:行程擁有者
PID:pid
%CPU:佔用的CPU使用率
%MEM:佔用的記憶體使用率
VSZ:佔用的虛擬記憶體大小
RSS:佔用的記憶體大小
TTY:終端的次要裝置號碼
STAT:該行程的狀態
①D 無法中斷的休眠狀態
②R 正在執行中
③S 靜止狀態
④T 暫停執行
⑤Z 不存在但暫時無法消除
⑥W 沒有足夠的記憶體分頁可分配
⑦< 高優先序的行程
⑧N 低優先序的行程
⑨L 有記憶體分頁分配並鎖在記憶體內
START:行程開始時間
TIME:執行的時間
COMMAND:所執行的指令
『叄』 Linux系統下的ps命令
USER:說明該程序是屬於哪一個人的;
PID:該程序的代號;
%CPU:代表該程序使用了多少 CPU 資源;
%MEM:代表該程序使用了多少的 RAM ;
VSZ, RSS:佔去的 ram 的大小( bytes );
TTY:是否為登入者執行的程序?若為 tty1-tty6 則為本機登入者,若為 pts/?? 則為遠程登入者執行的程序
STAT:該程序的狀態,( R )為可執行的,( S )為該程序正在睡眠中,就是沒有執行了,( T )正在偵測或者是停止了,( Z )僵屍程序,就是 zombie 死掉的程序啦!需要以 kill 除去啰!
START:該程序開始的日期;
TIME:該程序跑了多久的時間?
COMMAND:該程序的內容啦!
『肆』 linux 系統中得ps命令用法。
ps命令
要對進程進行監測和控制,首先必須要 了解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本同時也是非常強大的進程查看命令.使用該命令 可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵屍、哪些進程佔用了過多的資源等等.總之大部分信息都是可以通過執行該命令得到的.
ps命令最常用的還是用於監控後台進程的工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設備進行通信的,所以如果需要檢測其情況,便可以使用ps命令了.
1) ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變數。
6)ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。
7)ps -H 顯示樹狀結構,表示程序間的相互關系。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 採用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。
12)ps u 以用戶為主的格式來顯示程序狀況。
13)ps x 顯示所有程序,不以終端機來區分。
最常用的方法是ps -aux,然後再利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。
例子:
1)查看當前系統進程的uid,pid,stat,pri, 以uid號排序.
ps -eo pid,stat,pri,uid –sort uid
2)查看某用戶總的內存使用量
ps -o user,%mem --user $user | awk '$2 == "'$user'" {sum +=$2}; END {print sum}'
『伍』 linux下程序中怎麼使用ps命令
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (」zombie」) process
名稱:ps
使用許可權:所有使用者
使用方式:ps [options] [--help]
說明:顯示瞬間行程 (process) 的動態
參數:
ps 的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義
-A 列出所有的行程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程擁有者
PID: pid
%CPU: 佔用的 CPU 使用率
%MEM: 佔用的記憶體使用率
VSZ: 佔用的虛擬記憶體大小
RSS: 佔用的記憶體大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 該行程的狀態:
D: 不可中斷的靜止
R: 正在執行中
S: 靜止狀態
T: 暫停執行
Z: 不存在但暫時無法消除
W: 沒有足夠的記憶體分頁可分配
<: 高優先序的行程
N: 低優先序的行程
L: 有記憶體分頁分配並鎖在記憶體內 (即時系統或捱A I/O)
START: 行程開始時間
TIME: 執行的時間
COMMAND:所執行的指令
範例:
ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
5 ? 00:00:00 mdrecoveryd
.......
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
具體命令解釋如下:
1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變數。
6)ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。
7)ps -H 顯示樹狀結構,表示程序間的相互關系。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 採用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號>
指定終端機編號,並列出屬於該終端機的程序的狀況。
『陸』 linux的ps命令
linux命令ps詳解:
使用許可權:所有使用者(用戶)
使用方式:ps [options] [--help]
說明:顯示瞬間行程 (process) 的動態
參數:ps的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義
-A 列出所有的進程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
常用參數:
-A 顯示所有進程(等價於-e)(utility)
-a 顯示一個終端的所有進程,除了會話引線
-N 忽略選擇。
-d 顯示所有進程,但省略所有的會話引線(utility)
-x 顯示沒有控制終端的進程,同時顯示各個命令的具體路徑。dx不可合用(utility)
-p pid 進程使用cpu的時間
-u uid or username 選擇有效的用戶id或者是用戶名
-g gid or groupname 顯示組的所有進程。
U username 顯示該用戶下的所有進程,且顯示各個命令的詳細路徑
-f 全部列出,通常和其他選項聯用。如:ps -fa or ps -fx and so on
-l 長格式(有F,wchan,C 等欄位)
-j 作業格式
-o 用戶自定義格式
v 以虛擬存儲器格式顯示
s 以信號格式顯示
-m 顯示所有的線程
-H 顯示進程的層次(和其它的命令合用
e 命令之後顯示環境
h 不顯示第一行
最常用的方法是ps -aux,然後再ps命令常用用法(方便查看系統進程)
1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序
2)ps -A 顯示所有進程
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示
4)ps -e 此參數的效果和指定"A"參數相同
5)ps e 列出程序時,顯示每個程序所使用的環境變數
6)ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系
7)ps -H 顯示樹狀結構,表示程序間的相互關系
8)ps -N 顯示所有的程序,除了執行ps指令終機下的程序之外
9)ps s 採用程序信號的格式顯示程序狀況
10)ps S 列出程序時,包括已中斷的子程序資料
11)ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況
12)ps u 以用戶為主的格式來顯示程序狀況
13)ps x 顯示所有程序,不以終端機來區分
最常用的方法是ps -aux,然後再利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。
『柒』 Linux ps命令詳解
【 ps 】
»語法
ps[必要參數][選擇參數]
»功能
ps 命令:用來顯示當前進程的狀態
»類似命令 top kill pgrep
»執行許可權 超級用戶 普通用戶
»命令屬性 系統管理
»參數
必要參數
a 顯示所有進程
-a 顯示同一終端下的所有程序
-A 顯示所有進程
c 顯示進程的真實名稱
-N 反向選擇
-e 等於「-A」
e 顯示環境變數
f 顯示程序間的關系
-H 顯示樹狀結構
r 顯示當前終端的進程
T 顯示當前終端的所有程序
u 指定用戶的所有進程
選擇參數
-C<命令> 列出指定命令的狀況
--lines<行數> 每頁顯示的行數
--width<字元數> 每頁顯示的字元數
--help 顯示幫助信息
--version 顯示版本顯示
範例1: 顯示所有進程信息
root@localhost :~# ps -A 顯示進程信息
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 events/0
7 ? 00:00:00 cpuset
……
範例2: 顯示指定用戶信息
root@localhost :~# ps -u root //顯示root進程用戶信息
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 events/0
7 ? 00:00:00 cpuset
8 ? 00:00:00 khelper
9 ? 00:00:00 netns
10 ? 00:00:00 async/mgr
11 ? 00:00:00 pm
12 ? 00:00:00 sync_supers
13 ? 00:00:00 bdi-default
14 ? 00:00:00 kintegrityd/0
15 ? 00:00:02 kblockd/0
16 ? 00:00:00 kacpid
……省略部分結果
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:15 gedit
30886 ? 00:01:10 qtcreator.bin
30894 ? 00:00:00 qtcreator.bin
31160 ? 00:00:00 dhclient
31211 ? 00:00:00 aptd
31302 ? 00:00:00 sshd
31374 pts/2 00:00:00 bash
31397 pts/2 00:00:00 ps
範例3: 顯示指定終端信息
root@localhost :~# ps -u root //顯示終端1進程信息
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 events/0
7 ? 00:00:00 cpuset
8 ? 00:00:00 khelper
9 ? 00:00:00 netns
10 ? 00:00:00 async/mgr
11 ? 00:00:00 pm
12 ? 00:00:00 sync_supers
13 ? 00:00:00 bdi-default
14 ? 00:00:00 kintegrityd/0
15 ? 00:00:02 kblockd/0
16 ? 00:00:00 kacpid
……省略部分結果
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:15 gedit
30886 ? 00:01:10 qtcreator.bin
30894 ? 00:00:00 qtcreator.bin
31160 ? 00:00:00 dhclient
31211 ? 00:00:00 aptd
31302 ? 00:00:00 sshd
31374 pts/2 00:00:00 bash
31397 pts/2 00:00:00 ps
範例4: 顯示所有進程信息,連同命令行
root@localhost :~# ps -ef //顯示所有命令,連帶命令行
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:22 ? 00:00:02 /sbin/init
root 2 0 0 10:22 ? 00:00:00 [kthreadd]
root 3 2 0 10:22 ? 00:00:00 [migration/0]
root 4 2 0 10:22 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 10:22 ? 00:00:00 [watchdog/0]
root 6 2 0 10:22 ? /usr/lib/NetworkManager
……省略部分結果
root 31302 2095 0 17:42 ? 00:00:00 sshd: root@pts/2
root 31374 31302 0 17:42 pts/2 00:00:00 -bash
root 31400 1 0 17:46 ? 00:00:00 /usr/bin/python /usr/sbin/aptd
root 31407 31374 0 17:48 pts/2 00:00:00 ps -ef
範例5: ps 與grep 常用組合用法,查找特定進程
root@localhost :~# ps -ef |grep sshd //查找字串為sshd的進程
root 2095 1 0 10:31 ? 00:00:00 /usr/sbin/sshd
root 31302 2095 0 17:42 ? 00:00:00 sshd: root@pts/2
root 31409 31374 0 17:50 pts/2 00:00:00 grep --color=auto sshd
root@localhost :~#
範例6: 顯示命令的完整命令行
root@localhost :~# ps -efww
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:22 ? 00:00:02 /sbin/init
root 2 0 0 10:22 ? 00:00:00 [kthreadd]
root 3 2 0 10:22 ? 00:00:00 [migration/0]
root 4 2 0 10:22 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 10:22 ? 00:00:00 [watchdog/0]
root 6 2 0 10:22 ? 00:00:00 [events/0]
……省略部分結果
root 41 2 0 10:23 ? 00:00:00 [kstriped]
root 42 2 0 10:23 ? 00:00:00 [kmpathd/0]
root 43 2 0 10:23 ? 00:00:00 [kmpath_handlerd]
root 44 2 0 10:23 ? 00:00:00 [ksnapd]
root 45 2 0 10:23 ? 00:00:00 [kondemand/0]
root 46 2 0 10:23 ? 00:00:00 [kconservative/0]
root 233 2 0 10:23 ? 00:00:00 [mpt_poll_0]
root 234 2 0 10:23 ? 00:00:00 [mpt/0]
root 235 2 0 10:23 ? 00:00:00 [scsi_eh_2]
root 253 2 0 10:23 ? 00:00:12 [jbd2/sda1-8]
root 254 2 0 10:23 ? 00:00:00 [ext4-dio-unwrit]
root 314 1 0 10:23 ? 00:00:00 upstart-udev-bridge --daemon
範例7: 顯示進程間的關系
root@localhost :~# ps -efh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
31374 pts/2 Ss 0:00 -bash USER=root LOGNAME=root HOME=/root PATH=/usr/local/sbin:/usr/
31418 pts/2 R+ 0:00 \_ ps -efh TERM=xterm SHELL=/bin/bash XDG_SESSION_COOKIE=93b5d3d0
30489 pts/0 Ss+ 0:00 bash XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg SPEECHD_PORT=6560
30749 pts/0 S 0:15 \_ gedit ui_mainlocalhost.h ORBIT_SOCKETDIR=/tmp/orbit-root SSH_AGENT
1025 tty7 Ss+ 10:12 /usr/bin/X :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-Ge8TFD/
1021 tty1 Ss+ 0:00 /sbin/getty -8 38400 tty1 PATH=/usr/local/sbin:/usr/local/bin:/usr
867 tty6 Ss+ 0:00 /sbin/getty -8 38400 tty6 PATH=/usr/local/sbin:/usr/local/bin:/usr
864 tty3 Ss+ 0:00 /sbin/getty -8 38400 tty3 PATH=/usr/local/sbin:/usr/local/bin:/usr
862 tty2 Ss+ 0:00 /sbin/getty -8 38400 tty2 PATH=/usr/local/sbin:/usr/local/bin:/usr
855 tty5 Ss+ 0:00 /sbin/getty -8 38400 tty5 PATH=/usr/local/sbin:/usr/local/bin:/usr
852 tty4 Ss+ 0:00 /sbin/getty -8 38400 tty4 PATH=/usr/local/sbin:/usr/local/bin:/usr
『捌』 linux腳本中的ps等命令問題
ps-eaf|greptomcat|grep-vgrep>/dev/null2>&1
分為4段
1、ps -eaf 查看當前進程,-e 顯示所有進程,a顯示終端上的所有進程,包括其他用戶的進程,f 全格式。
2、顯示的結果通過管道「|」傳給第二段 grep tomcat,查找tomcat進程。
3、同樣查找的結果傳給第三段 grep -v grep,-v不顯示匹配的行,因為用grep查詢tomcat的時候也算一個進程,而ps的時候該進程信息中也包含了tomcat,例如:
root23170.00.05980744pts/4S+15:000:00greptomcat
所以用grep -v grep把這條過濾掉。
4、第四段 >/dev/null 2&>1,將顯示結果(默認是正確輸出,即1)重定向到/dev/null中去,2代表錯誤輸出,也和1一樣。Linux中0代表輸入stdin,1代表輸出stdout,2代表錯誤輸出stderror。
每運行一個命令,該命令都會有一個返回值給shell,你可以在終端中試試ls,然後echo $?查看返回值,肯定是0,如果ls 一個不存在的文件,再看,肯定不是0。以此判斷上一條命令是否執行成功。
if[$?-eq0];then
判斷上一條命令的返回值是否等於(-eq) 0,即是否運行成功。
『玖』 linux命令:1、使用ps命令顯示當前進程的詳細信息。
1、ps aux
2、who -a
3、top -d 3
4、按內存top 按shift+M,按時間top 按shift+T
5、「系統監視器」?top?
6、Xorg是圖形界面依賴的進程,強制終止那麼圖形界面就崩潰了
7、有這樣的指令嗎?
『拾』 Linux實驗
實驗報告
實驗名稱: Linux觀察行為
實驗時間: 年 月 日
實驗人員: (姓名) (學號) (年級)
實驗目的: 掌握監視系統的幾個Linux基本命令以及其他常用命令,學習linux內核,進程,存儲和其他資源的一些重要特徵,熟悉/proc虛擬文件系統。
實驗環境: linux
實驗步驟:
1. 用帳戶root,密碼123456登陸linux系統
2. 運行ps、man ps、cal、date、clear、who、which命令,觀察輸出結果
3. 運行/proc文件系統的相關命令(參見以下實驗陳述3),觀察輸出結果
實驗陳述:
1、基礎知識:
為什麼說/proc是一個虛擬文件系統:
proc文件系統是一個偽文件系統,它只存在內存當中,而不佔用外存空間。
該文件的作用:
它以文件系統的方式為訪問系統內核數據的操作提供介面。用戶和應用程序可以通過 proc得到系統的信息,並可以改變內核的某些參數。
2、寫出下列運行指令的結果(在終端里原樣輸入命令即可得到結果)
cal: 返回當前年月日歷
who am I: 返回當前用戶信息
find /usr -name "clear":
返回 一直到/clear的路徑 如:/use/bin/clear
which ls: alias ls='ls --color=tty'
/bin/ls
3、完成下列liunx機器問題(/proc文件系統)
² CPU的類型和型號
Ø 指令:cat /proc/cpuinfo
Ø 結果:(原樣輸入指令即可得到結果)
² 使用的Linux內核版本、編譯器版本
Ø 指令:cat /proc/version
Ø 結果:(原樣輸入指令即可得到結果)
² 配置了多少內存
Ø 指令:cat /proc/meminfo
Ø 結果:
MemTotal項就是總的內存.
² 當前有多少可用內存
Ø 指令:cat /proc/meminfo
Ø 結果:
MemFree項就是可用內存.
² 有多少磁碟讀寫請求
Ø 指令:cat /proc/stat
Ø 結果:
disk_io項
² 從系統啟動以來已經創建了多少進程
Ø 指令:cat /proc/stat
Ø 結果:
processes項即為總的線程數
實驗總結:...