linux之ps命令--进程快照
? ? ??
? ? ?linux中的ps命令可以列出當(dāng)前在運(yùn)行的進(jìn)程的快照,就是執(zhí)行ps命令時(shí)有哪些進(jìn)程在執(zhí)行以及他們是什么狀態(tài),
如果想動(dòng)態(tài)地顯示進(jìn)程信息,就可以使用top命令。
進(jìn)程一般存在幾種狀態(tài),
1.運(yùn)行(R)? ?正在運(yùn)行或在運(yùn)行隊(duì)列中等待。
2.睡眠(S)?,休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào),
3.僵死(Z),僵死一般是進(jìn)程結(jié)束了,進(jìn)程描述符還在,等著父進(jìn)程調(diào)wait4.
4.停止(T)?進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號(hào)后停止運(yùn)行運(yùn)行。
5.不可中斷(D),?收到信號(hào)不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生。
ps常用命令參數(shù)及方法
?(1)
ps aux
可以列出當(dāng)前系統(tǒng)所有內(nèi)存當(dāng)中的程序
root@ubuntu:~# ps aux
USER ? ? ? PID %CPU %MEM ? ?VSZ ? RSS TTY ? ? ?STAT START ? TIME COMMAND
root ? ? ? ? 1 ?0.0 ?0.7 ?24996 ?3624 ? ? ? ? ?Ss ? Apr14 ? 0:05 /sbin/init auto noprompt
root ? ? ? ? 2 ?0.0 ?0.0 ? ? ?0 ? ? 0 ? ? ? ? ?S ? ?Apr14 ? 0:00 [kthreadd]
root ? ? ? ? 3 ?0.0 ?0.0 ? ? ?0 ? ? 0 ? ? ? ? ?S ? ?Apr14 ? 0:02 [ksoftirqd/0]
root ? ? ? ? 5 ?0.0 ?0.0 ? ? ?0 ? ? 0 ? ? ? ? ?S< ? Apr14 ? 0:00 [kworker/0:0H]
root ? ? ? ? 7 ?0.0 ?0.0 ? ? ?0 ? ? 0 ? ? ? ? ?S ? ?Apr14 ? 0:05 [rcu_sched]
root ? ? ? ? 8 ?0.0 ?0.0 ? ? ?0 ? ? 0 ? ? ? ? ?S ? ?Apr14 ? 0:00 [rcu_bh]
root ? ? ? ? 9 ?0.0 ?0.0 ? ? ?0 ? ? 0 ? ? ? ? ?S ? ?Apr14 ? 0:00 [migration/0]
root ? ? ? ?10 ?0.0 ?0.0 ? ? ?0 ? ? 0 ? ? ? ? ?S ? ?Apr14 ? 0:00 [watchdog/0]
其中
USER ? ?用戶名
UID ? ?用戶ID(User ID)
PID ? ?進(jìn)程ID(Process ID)
PPID ? ?父進(jìn)程的進(jìn)程ID(Parent Process id)
SID ? ?會(huì)話ID(Session id)
%CPU ? ?進(jìn)程的cpu占用率
%MEM ? ?進(jìn)程的內(nèi)存占用率
VSZ ? ?進(jìn)程所使用的虛存的大小(Virtual Size)
RSS ? ?進(jìn)程使用的駐留集大小或者是實(shí)際內(nèi)存的大小,Kbytes字節(jié)。
TTY ? ?與進(jìn)程關(guān)聯(lián)的終端(tty)
STAT ? ?進(jìn)程的狀態(tài):進(jìn)程狀態(tài)使用字符表示的(STAT的狀態(tài)碼)
R 運(yùn)行 ? ?Runnable (on run queue) ? ? ? ? ? ?正在運(yùn)行或在運(yùn)行隊(duì)列中等待。
S 睡眠 ? ?Sleeping ? ? ? ? ? ? ? ?休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào)。
I 空閑 ? ?Idle
Z 僵死 ? ?Zombie(a defunct process) ? ? ? ?進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放。
D 不可中斷 ? ?Uninterruptible sleep (ususally IO) ? ?收到信號(hào)不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生。
T 終止 ? ?Terminate ? ? ? ? ? ? ? ?進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號(hào)后停止運(yùn)行運(yùn)行。
P 等待交換頁
W 無駐留頁 ? ?has no resident pages ? ? ? ?沒有足夠的記憶體分頁可分配。
X 死掉的進(jìn)程
< 高優(yōu)先級(jí)進(jìn)程 ? ? ? ? ? ? ? ? ? ?高優(yōu)先序的進(jìn)程
N 低優(yōu)先 ? ?級(jí)進(jìn)程 ? ? ? ? ? ? ? ? ? ?低優(yōu)先序的進(jìn)程
L 內(nèi)存鎖頁 ? ?Lock ? ? ? ? ? ? ? ?有記憶體分頁分配并縮在記憶體內(nèi)
s 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程);
l 多進(jìn)程的(使用 CLONE_THREAD, 類似 NPTL pthreads)
+ 位于后臺(tái)的進(jìn)程組?
START ? ?進(jìn)程啟動(dòng)時(shí)間和日期
TIME ? ?進(jìn)程使用的總cpu時(shí)間
COMMAND ? ?正在執(zhí)行的命令行命令
NI ? ?優(yōu)先級(jí)(Nice)
PRI ? ?進(jìn)程優(yōu)先級(jí)編號(hào)(Priority)
WCHAN ? ?進(jìn)程正在睡眠的內(nèi)核函數(shù)名稱;該函數(shù)的名稱是從/root/system.map文件中獲得的。
FLAGS ? ?與進(jìn)程相關(guān)的數(shù)字標(biāo)識(shí)
(2)過濾進(jìn)程
過濾sshd
root@ubuntu:~#?root@ubuntu:~# ps -aux | grep sshd
root ? ? ? 347 ?0.0 ?0.3 ? 4540 ?1932 pts/19 ? S+ ? 07:38 ? 0:00 grep --color=auto sshd
root ? ? ? 818 ?0.0 ?0.1 ?10432 ? 924 ? ? ? ? ?Ss ? Apr14 ? 0:00 /usr/sbin/sshd -D
root ? ? 32269 ?0.0 ?0.9 ?13784 ?4580 ? ? ? ? ?Ss ? 06:12 ? 0:00 sshd: root@pts/19
(3)過濾用戶
root@ubuntu:~# ps -aux | grep zhouzh*
root ? ? ? 353 ?0.0 ?0.3 ? 4540 ?2016 pts/19 ? S+ ? 07:39 ? 0:00 grep --color=auto zhouzh*
zhouzhe+ ?1070 ?0.0 ?0.4 ? 6320 ?2292 ? ? ? ? ?Ss ? Apr14 ? 0:00 /lib/systemd/systemd --user
zhouzhe+ ?1071 ?0.0 ?0.0 ? 7520 ? ?12 ? ? ? ? ?S ? ?Apr14 ? 0:00 (sd-pam) ? ? ? ? ? ? ? ?
zhouzhe+ ?1103 ?0.0 ?0.7 ?48384 ?3688 ? ? ? ? ?Sl ? Apr14 ? 0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
zhouzhe+ ?1105 ?0.0 ?0.4 ? 7788 ?2388 ? ? ? ? ?Ss ? Apr14 ? 0:00 /sbin/upstart --user
zhouzhe+ ?1197 ?0.0 ?0.5 ? 6740 ?2544 ? ? ? ? ?Ss ? Apr14 ? 0:02 dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-OXyJ7Skafh
zhouzhe+ ?1198 ?0.0 ?0.0 ? 6812 ? ?20 ? ? ? ? ?S ? ?Apr14 ? 0:00 upstart-udev-bridge --daemon --user
(4)另外結(jié)合kill使用,通過ps查詢進(jìn)程pid等,然后用kill命令殺死進(jìn)程
絕殺進(jìn)程,包括其子進(jìn)程
kill -9 -pid
pid為進(jìn)程號(hào)
也可以
killall 進(jìn)程名
先使用ps -ef | grep 進(jìn)程號(hào)
查看有沒有父進(jìn)程(PPID表示父進(jìn)程),和子進(jìn)程
再一個(gè)一個(gè)的把子進(jìn)程和父進(jìn)程都?xì)⒌?/p>
kill -pid ?
init進(jìn)程為1
kill -9 -1 ?相當(dāng)于關(guān)閉系統(tǒng)
總結(jié)
以上是生活随笔為你收集整理的linux之ps命令--进程快照的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云平台SLB详细介绍和实战演练
- 下一篇: Flink DataSet API