来自:掘金,作者:RunFromHere
链接:https://juejin.im/post/5bf9213ce51d452237153c5c
1、ps是什么?
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到。
ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
基本参数:
- -A :所有的进程均显示出来,与 -e 具有同样的效用;
- -a :显示现行终端机下的所有进程,包括其他用户的进程;
- -u :以用户为主的进程状态 ;
- x :通常与 a 这个参数一起使用,可列出较完整信息。
输出格式规划:
- l :较长、较详细的将该PID 的的信息列出;
- j :工作的格式 (jobs format)
- -f :做一个更为完整的输出。
下面我们就来一个命令进行实践,看看不同的参数都有些什么效果。
2、不加参数执行ps命令会输出什么?这是一个基本的 ps 使用,我们来看看控制台中执行这个命令并查看结果。
结果默认会显示4列信息:
- PID: 运行着的命令(CMD)的进程编号
- TTY: 命令所运行的位置(终端)
- TIME: 运行着的该命令所占用的CPU处理时间
- CMD: 该进程所运行的命令
这些信息在显示时未排序。
3、如何显示所有当前进程?使用 -a 参数,-a 代表 all。同时加上x参数会显示没有控制终端的进程。
$ps-ax
#这个命令的结果或许会很长。为了便于查看,可以结合less命令和管道来使用。
$ps-ax|less
在需要查看特定用户进程的情况下,我们可以使用 -u 参数。比如我们要查看用户'pungki'的进程,可以通过下面的命令:
$ps-upungki
也许你希望把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 aux 参数,来显示全面的信息:
$ps-aux|less