linux之ps命令--进程快照
? ? ??
? ? ?linux中的ps命令可以列出當前在運行的進程的快照,就是執行ps命令時有哪些進程在執行以及他們是什么狀態,
如果想動態地顯示進程信息,就可以使用top命令。
進程一般存在幾種狀態,
1.運行(R)? ?正在運行或在運行隊列中等待。
2.睡眠(S)?,休眠中, 受阻, 在等待某個條件的形成或接受到信號,
3.僵死(Z),僵死一般是進程結束了,進程描述符還在,等著父進程調wait4.
4.停止(T)?進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行。
5.不可中斷(D),?收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生。
ps常用命令參數及方法
?(1)
ps aux
可以列出當前系統所有內存當中的程序
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 ? ?進程ID(Process ID)
PPID ? ?父進程的進程ID(Parent Process id)
SID ? ?會話ID(Session id)
%CPU ? ?進程的cpu占用率
%MEM ? ?進程的內存占用率
VSZ ? ?進程所使用的虛存的大小(Virtual Size)
RSS ? ?進程使用的駐留集大小或者是實際內存的大小,Kbytes字節。
TTY ? ?與進程關聯的終端(tty)
STAT ? ?進程的狀態:進程狀態使用字符表示的(STAT的狀態碼)
R 運行 ? ?Runnable (on run queue) ? ? ? ? ? ?正在運行或在運行隊列中等待。
S 睡眠 ? ?Sleeping ? ? ? ? ? ? ? ?休眠中, 受阻, 在等待某個條件的形成或接受到信號。
I 空閑 ? ?Idle
Z 僵死 ? ?Zombie(a defunct process) ? ? ? ?進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放。
D 不可中斷 ? ?Uninterruptible sleep (ususally IO) ? ?收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生。
T 終止 ? ?Terminate ? ? ? ? ? ? ? ?進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行。
P 等待交換頁
W 無駐留頁 ? ?has no resident pages ? ? ? ?沒有足夠的記憶體分頁可分配。
X 死掉的進程
< 高優先級進程 ? ? ? ? ? ? ? ? ? ?高優先序的進程
N 低優先 ? ?級進程 ? ? ? ? ? ? ? ? ? ?低優先序的進程
L 內存鎖頁 ? ?Lock ? ? ? ? ? ? ? ?有記憶體分頁分配并縮在記憶體內
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads)
+ 位于后臺的進程組?
START ? ?進程啟動時間和日期
TIME ? ?進程使用的總cpu時間
COMMAND ? ?正在執行的命令行命令
NI ? ?優先級(Nice)
PRI ? ?進程優先級編號(Priority)
WCHAN ? ?進程正在睡眠的內核函數名稱;該函數的名稱是從/root/system.map文件中獲得的。
FLAGS ? ?與進程相關的數字標識
(2)過濾進程
過濾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)另外結合kill使用,通過ps查詢進程pid等,然后用kill命令殺死進程
絕殺進程,包括其子進程
kill -9 -pid
pid為進程號
也可以
killall 進程名
先使用ps -ef | grep 進程號
查看有沒有父進程(PPID表示父進程),和子進程
再一個一個的把子進程和父進程都殺掉
kill -pid ?
init進程為1
kill -9 -1 ?相當于關閉系統
總結
以上是生活随笔為你收集整理的linux之ps命令--进程快照的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云平台SLB详细介绍和实战演练
- 下一篇: linux 其他常用命令