ps 命令

ps (英文全拼:process status)命令用于显示当前进程的状态,ps的结果是一个快照而非实时刷新

语法

ps [options] [--help]

常用选项

  • -A 列出所有的进程,同-e
  • -a 显示所有终端机下执行的程序
  • a 显示现行终端机下的所有程序,包括其他用户的程序
  • -c 只列出程序名,不显示完整路径
  • -e 同-A
  • -f 显示全部列,包括UID,PPID(父进程ID),C和STIME
  • -H 显示树状结构,表示进程间的关系
  • -m 显示所有的线程
  • -u uid or username 选择有效的用户id或者是用户名
  • -g gid or groupname 显示组的所有进程
  • -x 显示没有控制终端的进程,同时显示各个命令的具体路径

实例

列出所有进程信息

# ps -e
  PID TTY          TIME CMD
    1 ?        00:10:41 systemd
    2 ?        00:00:04 kthreadd
    4 ?        00:00:00 kworker/0:0H
    6 ?        00:00:13 ksoftirqd/0
    7 ?        00:00:25 migration/0
    8 ?        00:00:00 rcu_bh
    9 ?        00:12:25 rcu_sched
   10 ?        00:00:00 lru-add-drain
   11 ?        00:00:22 watchdog/0
   12 ?        00:00:17 watchdog/1
   13 ?        00:00:26 migration/1
   14 ?        00:00:08 ksoftirqd/1

...

 1815 ?        00:00:00 nginx
 1816 ?        00:00:01 nginx
 1817 ?        00:00:00 nginx
 2202 ?        00:14:11 tat_agent
 2795 ?        00:01:30 firewalld
 6437 ?        00:00:00 sshd
 6440 pts/0    00:00:00 bash
...

按进程名查找:

ps -ef | grep 进程关键字
或
ps aux|grep  进程关键字

例如显示java的进程:

# ps -ef|grep java
oper     14081 14079  0 Jan06 ?        00:51:16 java -jar -server -Xms512M -Xmx768M -Xss256k cms.war
root     14286  6440  0 12:21 pts/0    00:00:00 grep --color=auto java

ps -u oper  #显示指定用户进程
ps aux | more #分页查看
ps -aux | sort -nk 3  #排序

进程相关命令: