`

linux ps - processes

阅读更多
【基本介绍】
ps - report a snapshot of the current processes.
ps displays information about a selection of the active processes。
ps显示与进程相关的信息。

【基本参数】
-a              Select all processes except both session leaders (see getsid(2)) and processes not associated with a terminal.
a               Lift the BSD-style "only yourself" restriction, 
-e              Select all processes. Identical to -A.
-C cmdlist      Select by command name.
-U userlist     select by real user ID (RUID) or name.
-p pidlist      Select by PID.
-f              does full-format listing. This option can be combined with many other UNIX-style options to add additional columns. 
-o format       user-defined format.
-L              Show threads, possibly with LWP and NLWP columns
--sort spec     specify sorting order
args       COMMAND  command with all its arguments as a string.
rss        RSS      resident set size, the non-swapped physical memory that a task has used (in kiloBytes)



【简单实例】
1. Display all processes(显示所有进程)
$ ps ax
$ ps -ef


2. Display process by user(显示对应用户的进程)
[root@pandaVM ~]# ps -u root
  PID TTY          TIME CMD
    1 ?        00:00:28 init
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 migration/0
    4 ?        00:00:08 ksoftirqd/0
    5 ?        00:00:00 migration/0
    6 ?        00:00:02 watchdog/0
    7 ?        00:10:16 events/0
    8 ?        00:00:00 cgroup
    9 ?        00:00:00 khelper
   10 ?        00:00:00 netns
   11 ?        00:00:00 async/mgr
   12 ?        00:00:00 pm
   13 ?        00:00:05 sync_supers


3. Show process by name or process id(显示命令对应的进程)
$ ps -C apache2
  PID TTY          TIME CMD
 2359 ?        00:00:00 apache2
 4524 ?        00:00:00 apache2
 4525 ?        00:00:00 apache2



4. Sort process by cpu or memory usage(针对列进行排序)
$ ps aux --sort=-pcpu | head -5
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  2.6  0.7  51396  7644 ?        Ss   02:02   0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 23
root      1249  2.6  3.0 355800 30896 tty1     Rsl+ 02:02   0:02 /usr/bin/X -background none :0 vt01 -nolisten tcp
root       508  2.4  1.6 248488 16776 ?        Ss   02:02   0:03 /usr/bin/python /usr/sbin/firewalld --nofork
silver    1525  2.1  2.3 448568 24392 ?        S    02:03   0:01 /usr/bin/python /usr/share/system-config-printer/applet.py


5. Display threads of a process(显示进程的线程)
[root@pandaVM ~]# ps -p 38027 -L
  PID   LWP TTY          TIME CMD
38027 38027 ?        00:00:15 memcached
38027 38029 ?        00:00:00 memcached
38027 38030 ?        00:00:00 memcached
38027 38031 ?        00:00:00 memcached


6. Change the columns to display(格式化初始列)
$ ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm
  PID USERNAME CPU_USAGE %MEM COMMAND
    1 root           0.0  0.0 init
    2 root           0.0  0.0 kthreadd
    3 root           0.0  0.0 ksoftirqd/0
    4 root           0.0  0.0 kworker/0:0
    5 root           0.0  0.0 kworker/0:0H



7. Display elapsed time of processes(显示运行时间)
[root@pandaVM ~]# ps -e -o pid,comm,etime
  PID COMMAND             ELAPSED
    1 init            11-22:57:09
    2 kthreadd        11-22:57:09
    3 migration/0     11-22:57:09
    4 ksoftirqd/0     11-22:57:09
    5 migration/0     11-22:57:09
    6 watchdog/0      11-22:57:09


8. Turn ps into an realtime process viewer(实时查看进程,可以用top)
[root@pandaVM ~]# watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'

Every 1.0s: ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15                                                           Mon Oct 20 14:16:32 2014

  PID USER     CMD                         %MEM %CPU
41664 root     watch -n 1 ps -e -o pid,una  0.2  0.3
 2051 mysql    /usr/libexec/mysqld --based  2.6  0.2
    1 root     /sbin/init                   0.1  0.0
    2 root     [kthreadd]                   0.0  0.0


9. Finding memory Leak (ps –sort pmem)
$ ps ev --pid=27645
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
27645 ? S 3:01 0 25 1231262 1183976 14.4 /TaskServer/bin/./wrapper-linux-x86-32

if RSS (resident set size, in KB) increases over time (so would %MEM), it may indicate a memory leak in the application.如果RSS数值在变大,占用的MEM百分比也在变大,可以作为内存泄漏的依据.

【参考引用】
http://www.binarytides.com/linux-ps-command/
http://www.thegeekstuff.com/2011/04/ps-command-examples/
分享到:
评论

相关推荐

    Linux ps和pstree命令知识点总结

    在Linux系统管理中,了解和熟练使用`ps`和`pstree`命令是至关重要的,因为它们可以帮助我们查看和管理系统的进程。这篇文章将对这两个命令进行深入的解析和总结。 `ps`命令,全称为Process Status,是用于查看当前...

    Linux课程教学实习要求

    设计要求: 1. 基本shell编程,要求选择两项编程:(截图保存成姓名+学号的word文档) (1)创建用户 (2)创建目录和文件 ...ps auxf --width=200 echo "--------------------" echo "vmstat:" vmstat 1 5

    Linux命令简写和全称

    ### Linux命令简写和全称知识点详解 #### su - Swithuser切换用户 - **全称**: Switch user - **用途**: 用于切换当前登录的用户。通常用于切换到具有更高权限的用户(如root)来进行系统管理任务。 - **语法**: `...

    linux英文全称

    - /proc:虚拟文件系统,用于显示系统进程(processes)信息。 - /sbin:存放系统管理命令,superuser binaries。 - /tmp:临时文件存储目录。 - /usr:用于存储共享资源,全称为unix shared resources。 - /var:...

    GNU Linux Tools Summary

    13. **top (View Running Processes)** - **用途**:查看正在运行的进程。 - **常用操作**: - 使用键盘上的`k`键结束进程。 14. **ps (Process Status)** - **用途**:显示进程状态。 - **常用选项**: - `...

    pps 命令封装@

    2. **定义函数**:一个或多个函数,如 `get_processes()`,用于执行`ps -aux`命令并解析其结果。 3. **错误处理**:可能包含异常处理代码,确保在命令执行失败时能提供有用的反馈。 4. **数据解析**:根据`ps -aux`...

    Linux操作系统基础教程

    Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言..........................................................................................................................................

    SimIt-ARM-3.0 ARM指令模拟器

    SimIt-ARM-3.0 给予命令行ARM指令模拟器,短小精悍,是研究ARM处理器的好工具,该模拟器既可以运行用户级别的ELF程序,又可以模拟运行Linux操作系统;提供了简单易用的调试命令,可以逐条跟踪指令的执行。 SimIt-...

    linux命令记忆方法

    - **proc=PROCesses**:这是一个虚拟文件系统,用来存储当前内核运行时的状态信息。 - **sbin=SuperuserBINaries**:包含超级用户才能使用的命令。 - **tmp=TeMPorary**:临时文件的存储位置。 - **usr=...

    linux命令英文全称(帮助记忆,让命令变的很简单)分享.pdf

    5. `/proc` - PROCesses:虚拟文件系统,提供对系统运行时信息(如进程状态)的访问。 6. `/sbin` - Superuser BINaries:超级用户(root)使用的管理命令存放处。 7. `/tmp` - TeMPorary:临时文件的存储区域,...

    Wiley.Publishing.Fedora.Linux.Toolbox.1000+.Commands.for.Fedora.CentOS.and.Red.Hat.Power.Users.and.Red.Hat.Power.Users.2008.pdf

    - **Monitoring Processes**: Using tools like `top`, `htop`, and `ps` to monitor running processes. - **Managing Processes**: Killing, restarting, and controlling processes using `kill`, `killall`, and...

    Linux脚本实现多进程并发执行、杀死脚本操作

    要查看当前运行的进程,可以使用`ps`命令,如`ps aux | grep my_program`,这将列出所有包含"my_program"的进程。 在脚本中,可以使用循环和数组来启动多个进程。以下是一个简单的例子,它启动了三个不同的命令: ...

    Linux System Administrator Guide Version0.9

    ### Linux System Administrator’s Guide Version 0.9: Key IT Knowledge Points #### Introduction The Linux System Administrator’s Guide Version 0.9 is a comprehensive resource aimed at helping new ...

    linux命令英文全称(帮助记忆,让命令变的很简单).pdf

    5. `/proc`:PROCesses - 虚拟文件系统,提供关于进程的信息。 6. `/sbin`:SuperuserBINaries - 管理员使用的系统管理工具。 7. `/tmp`:TeMPorary - 存放临时文件,系统重启时会被清空。 8. `/usr`:Unix Shared ...

    Linux下修改oracle字符集

    在Linux环境下,修改Oracle数据库字符集是一项重要的数据库维护工作,特别是对于那些需要支持中文字符的应用来说。Oracle数据库在安装时默认采用的字符集是WE8ISO8859P1,该字符集不支持中文字符。因此,针对需要...

    linux 命令英文全称

    ### Linux命令英文全称解析 Linux作为一款强大的开源操作系统,其命令行工具是进行系统管理、软件开发等工作的核心组成部分。对于初学者来说,理解这些命令的英文全称及其背后的含义,有助于更好地记忆和掌握它们的...

    Linux Shell编程

    例如,可以创建一个别名`procs`来代替`echo "Number of processes are"; ps | wc -l`的输入。此外,还可以使用`unalias`命令来删除已定义的别名。 #### 六、Shell历史功能 `history`命令可以帮助用户回顾之前输入...

Global site tag (gtag.js) - Google Analytics