下面看兩個命令各自顯示哪些內容:
$ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 4828 516 ? Ss 2014 1:28 init [3]
root 2 0.0 0.0 0 0 ? S 2014 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 2014 0:43 [migration/0]
root 4 0.0 0.0 0 0 ? S 2014 7:34 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 2014 0:01 [migration/0]
root 6 0.0 0.0 0 0 ? S 2014 0:03 [watchdog/0]
root 7 0.0 0.0 0 0 ? S 2014 3:04 [migration/1]
root 8 0.0 0.0 0 0 ? S 2014 0:01 [migration/1]
root 9 0.0 0.0 0 0 ? S 2014 1:44 [ksoftirqd/1]
root 10 0.0 0.0 0 0 ? S 2014 0:01 [watchdog/1]
root 11 0.0 0.0 0 0 ? S 2014 2:21 [migration/2]
root 12 0.0 0.0 0 0 ? S 2014 0:01 [migration/2]
其中顯示了:
- USER 哪一個用戶啓動了這個命令
- PID 進程ID
- CPU CPU佔用率
- MEM 內存使用量
- VSZ 若是一個程序徹底駐留在內存的話須要佔用多少內存空間
- RSS 當前實際佔用了多少內存
- TTY: 終端的次要裝置號碼 (minor device number of tty)
- STAT 進程當前的狀態("S":中斷 sleeping,進程處在睡眠狀態,代表這些進程在等待某些事件發生--多是用戶輸入或者系統資源的可用性;"D":不可中斷 uninterruptible sleep;"R":運行 runnable;"T":中止 traced or stopped;"Z":僵死 a defunct zombie process)
- START 啓動命令的時間點
- TIME 進程執行起到如今總的CPU暫用時間
- COMMAND 啓動這個進程的命令
$ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 2014 ? 00:01:28 init [3]
root 2 0 0 2014 ? 00:00:00 [kthreadd]
root 3 2 0 2014 ? 00:00:43 [migration/0]
root 4 2 0 2014 ? 00:07:34 [ksoftirqd/0]
root 5 2 0 2014 ? 00:00:01 [migration/0]
root 6 2 0 2014 ? 00:00:03 [watchdog/0]
root 7 2 0 2014 ? 00:03:04 [migration/1]
root 8 2 0 2014 ? 00:00:01 [migration/1]
root 9 2 0 2014 ? 00:01:44 [ksoftirqd/1]
root 10 2 0 2014 ? 00:00:01 [watchdog/1]
root 11 2 0 2014 ? 00:02:21 [migration/2]
root 12 2 0 2014 ? 00:00:01 [migration/2]
其中顯示了:
- UID 用戶號
- PID 進程ID
- PPID 父進程號
- C CPU佔用率
- TTY 終端的次要裝置號碼 (minor device number of tty)
- TIME 進程執行起到如今總的CPU暫用時間
- COMMAND 啓動這個進程的命令
通常使用這兩個命令的做用是查看預期的進程是否啓動,或者殺死指定的進程,例如查看memcached進程是否正常啓動:
$ps -ef | grep 'memcached'
work 14896 5034 0 16:30 pts/12 00:00:00 grep memcached
work 27799 1 0 2014 ? 00:01:08 /home/work/local/memcache/bin/memcached -d -m 8096 -p 11215 -c 256
經過grep命令能夠查找指定的進程名稱,上面例子查找發現正常運行了,但若是我要關閉這個進程,能夠經過殺死PID來完成,例如memcached的PID是27799,那麼執行下面kill命令便可:
$kill 27799
$ps -ef | grep 'memcached'
work 14896 5034 0 16:30 pts/12 00:00:00 grep memcached
再次查找進程已經消失。
小結:ps命令能夠很好的查看和操做進程,使得在進程管理很方便。