歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> Linux系統中的ps進程查看命令使用實例集錦

Linux系統中的ps進程查看命令使用實例集錦

日期:2017/3/2 16:25:46   编辑:Linux服務器

  linux 中ps命令是Process Status的縮寫。ps命令可以列出系統中當前運行的進程,所列出的進程是執行ps命令這個時刻正在運行的進程。

  如果要動態顯示進程信息,需要使用top命令。

  通過ps命令,可以確定哪些進程正在運行和運行狀態、進程是否結束、進程是否僵死,哪些進程占用過多資源等。

  要殺死進程,使用kill命令,例:kill 12345 (12345為進程的pid)

  linux進程有5種狀態

  1.運行(正在運行或在運行隊列中等待)

  2.中斷(休眠中,受阻,或等待某個條件的形成或接受到信號)

  3.不可中斷(收到信號不喚醒和不可運行,進程必須等待直到有中斷發生)

  4.僵死(進程已終止,但進程描述符存在,直到父進程調用wait4()系統調用後釋放)

  5.停止(進程受到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信號後停止運行)

  ps 5種進程狀態的標識碼如下:

  R 運行 runnable(on run queue)

  S 中斷 sleeping

  D 不可中斷 uninterruptible sleep (usually IO)

  Z 僵死 a defunct("zombie") process

  T 停止 traced or stopped

  命令參數

  a 顯示所有進程

  -a 顯示同一終端下的所有程序

  -A 顯示所有進程

  c 顯示進程的真實名稱

  -N 反向選擇

  -e 等於“-A”

  e 顯示環境變量

  f 顯示程序間的關系

  -H 顯示樹狀結構

  r 顯示當前終端的進程

  T 顯示當前終端的所有程序

  u 指定用戶的所有進程

  -au 顯示較詳細的資訊

  -aux 顯示所有包含其他使用者的進程

  -C<命令> 列出指定命令的狀況

  –lines<行數> 每頁顯示的行數

  –width<字符數> 每頁顯示的字符數

  –help 顯示幫助信息

  –version 顯示版本顯示

  輸出列的含義

  F 代表這個程序的旗標 (flag), 4 代表使用者為 super user

  S 代表這個程序的狀態 (STAT),關於各 STAT 的意義將在內文介紹

  UID 程序被該 UID 所擁有

  PID 進程的ID

  PPID 則是其上級父程序的ID

  C CPU 使用的資源百分比

  PRI 這個是 Priority (優先執行序) 的縮寫,詳細後面介紹

  NI 這個是 Nice 值,在下一小節我們會持續介紹

  ADDR 這個是 kernel function,指出該程序在內存的那個部分。如果是個 running的程序,一般就是 “-“

  SZ 使用掉的內存大小

  WCHAN 目前這個程序是否正在運作當中,若為 - 表示正在運作

  TTY 登入者的終端機位置

  TIME 使用掉的 CPU 時間。

  CMD 所下達的指令

  例子:

  1.顯示所有進程信息

  代碼如下:

  fdipzone@ubuntu:~$ ps -A

  PID TTY TIME CMD

  1 ? 00:00:01 init

  2 ? 00:00:00 kthreadd

  3 ? 00:00:00 ksoftirqd/0

  4 ? 00:00:00 kworker/0:0

  5 ? 00:00:00 kworker/u:0

  6 ? 00:00:00 migration/0

  7 ? 00:00:00 migration/1

  8 ? 00:00:00 kworker/1:0

  9 ? 00:00:00 ksoftirqd/1

  10 ? 00:00:00 kworker/0:1

  ...省略部分結果

  2.顯示指定用戶進程

  代碼如下:

  fdipzone@ubuntu:~$ ps -u fdipzone

  PID TTY TIME CMD

  1502 ? 00:00:00 gnome-keyring-d

  1521 ? 00:00:00 gnome-session

  1551 ? 00:00:00 ibus-daemon

  1555 ? 00:00:00 ssh-agent

  1558 ? 00:00:00 dbus-launch

  1559 ? 00:00:00 ibus-gconf

  1561 ? 00:00:00 python

  1563 ? 00:00:00 dbus-daemon

  1564 ? 00:00:00 ibus-x11

  1569 ? 00:00:00 gconfd-2

  ...省略部分結果

  3.顯示所有進程,並顯示命令行

  代碼如下:

  fdipzone@ubuntu:~$ ps -ef

  UID PID PPID C STIME TTY TIME CMD

  root 1 0 0 22:53 ? 00:00:01 /sbin/init

  root 2 0 0 22:53 ? 00:00:00 [kthreadd]

  root 3 2 0 22:53 ? 00:00:00 [ksoftirqd/0]

  root 4 2 0 22:53 ? 00:00:00 [kworker/0:0]

  root 5 2 0 22:53 ? 00:00:00 [kworker/u:0]

  root 6 2 0 22:53 ? 00:00:00 [migration/0]

  root 7 2 0 22:53 ? 00:00:00 [migration/1]

  root 8 2 0 22:53 ? 00:00:00 [kworker/1:0]

  root 9 2 0 22:53 ? 00:00:00 [ksoftirqd/1]

  root 10 2 0 22:53 ? 00:00:00 [kworker/0:1]

  ...省略部分結果

  4.與grep命令組合使用,查找指定的進程

  代碼如下:

  fdipzone@ubuntu:~$ ps -ef | grep apache

  root 2032 1 0 22:56 ? 00:00:01 /usr/sbin/apache2 -k start

  www-data 2318 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2319 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2320 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2321 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2322 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2323 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  ...省略部分結果

  5.顯示當前登入用戶的bash相關的進程

  代碼如下:

  fdipzone@ubuntu:~$ ps -l

  F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

  0 S 1000 1805 1798 0 80 0 - 7011 wait pts/0 00:00:00 bash

  0 R 1000 2561 1805 0 80 0 - 3377 - pts/0 00:00:00 ps

  6.列出所有用戶啟動的進程

  代碼如下:

  [fdipzone@ubuntu:~$ ps aux

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.1 0.2 24136 2188 ? Ss 22:53 0:01 /sbin/init

  root 2 0.0 0.0 0 0 ? S 22:53 0:00 [kthreadd]

  root 3 0.0 0.0 0 0 ? S 22:53 0:00 [ksoftirqd/0]

  root 5 0.0 0.0 0 0 ? S 22:53 0:00 [kworker/u:0]

  root 6 0.0 0.0 0 0 ? S 22:53 0:00 [migration/0]

  root 7 0.0 0.0 0 0 ? S 22:53 0:00 [migration/1]

  root 8 0.0 0.0 0 0 ? S 22:53 0:00 [kworker/1:0]

  root 9 0.0 0.0 0 0 ? S 22:53 0:00 [ksoftirqd/1]

  root 10 0.0 0.0 0 0 ? S 22:53 0:00 [kworker/0:1]

  root 11 0.0 0.0 0 0 ? S< 22:53 0:00 [cpuset]

  root 12 0.0 0.0 0 0 ? S< 22:53 0:00 [khelper]

  ...省略部分結果

  另外:

  a:顯示其他用戶啟動的進程

  x:查看系統中屬於自己的進程

  u:啟動這個進程的用戶和啟動時間

Copyright © Linux教程網 All Rights Reserved