linux进程命令

ps
ps 是 Linux 中最基础的浏览系统中的进程的命令。
能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等
ps -a - 列出所有运行中/激活进程
ps -ef |grep - 列出需要进程
ps -aux - 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID, %CPU, %MEM等


1、ps aux 或 lax 输出的解释
au(x) 输出格式 : 
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER: 进程所有者
PID: 进程ID
%CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的内存大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 进程状态:
START: 启动进程的时间; 
TIME: 进程消耗CPU的时间;
COMMAND:命令

2、进程 stat 状态
D 无法中断的休眠状态(通常 IO 的进程); 
R 正在运行,在可中断队列中; 
S 处于休眠状态,静止状态; 
T 停止或被追踪,暂停执行; 
W 进入内存交换(从内核2.6开始无效); 
X 死掉的进程; 
Z 僵尸进程不存在但暂时无法消除;
W: 没有足够的记忆体分页可分配
WCHAN 正在等待的进程资源;
<: 高优先级进程
N: 低优先序进程
L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O),即,有些页被锁进内存

s 进程的领导者(在它之下有子进程); 
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads); 
+ 位于后台的进程组;

3、kill 终止进程
有十几种控制进程的方法,下面是一些常用的方法:
kill -STOP [pid] 
发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid] 
发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid] 
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1 
终止你拥有的全部进程。
SIGKILL 和 SIGSTOP 信号不能被捕捉、封锁或者忽略,但是,其它的信号可以。所以这是你的终极武器。


日常生活中使用的ps命令的例子(UNIX 风格)。

1. 不加参数执行ps命令. 这是一个基本的 ps 使用
2. 显示所有当前进程. 使用 -a 参数。-a 代表 all。同时加上x参数会显示没有控制终端的进程。ps -ax | less
3. 根据用户过滤进程. 在需要查看特定用户进程的情况下,我们可以使用 -u 参数。
   比如我们要查看用户'pungki'的进程,可以通过下面的命令: $ ps -u pungki
4. 通过cpu和内存使用来过滤进程.  ps -aux | less   默认的结果集是未排序的。
   可以通过 --sort命令来排序。. 根据 CPU 使用来升序排序. ps -aux --sort -pcpu | less
   根据 内存使用 来升序排序 .ps -aux --sort -pmem | less
   ps -aux --sort -pcpu,+pmem | head -n 10
5. 通过进程名和PID过滤
   使用 -C 参数,后面跟你要找的进程的名字。比如想显示一个名为getty的进程的信息,就可以使用下面的命令:
   $ ps -C getty
   如果想要看到更多的细节,我们可以使用-f参数来查看格式化的信息列表:$ ps -f -C getty
6. 根据线程来过滤进程. 如果我们想知道特定进程的线程,可以使用-L 参数,后面加上特定的PID。$ ps -L 1213
7. 树形显示进程. 有时候我们希望以树形结构显示进程,可以使用 -axjf 参数。 $ps -axjf. 或者使用另一个命令:pstree
8. 显示安全信息. 如果想要查看现在有谁登入了你的服务器。可以使用ps命令加上相关参数:$ ps -eo pid,user,args
   参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args参数显示PID,运行应用的用户和该应用。
9. 格式化输出root用户(真实的或有效的UID)创建的进程
   系统管理员想要查看由root用户运行的进程和这个进程的其他相关信息时,可以通过下面的命令:
   $ ps -U root -u root u
   -U 参数按真实用户ID(RUID)筛选进程,它会从用户列表中选择真实用户名或 ID。真实用户即实际创建该进程的用户。
   -u 参数用来筛选有效用户ID(EUID)。
   最后的u参数用来决定以针对用户的格式输出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND这几   列组成。
10. 使用PS实时监控进程状态. ps 命令会显示你系统当前的进程状态,但是这个结果是静态的。
    当有一种情况,我们需要像上面第四点中提到的通过CPU和内存的使用率来筛选进程,并且我们希望结果能够每秒刷新一次。
    为此,我们可以将ps命令和watch命令结合起来。$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’
    如果输出太长,我们也可以限制它,比如前20条,我们可以使用head命令来做到。
    $ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’
    这里的动态查看并不像top或者htop命令一样。但是使用ps的好处是你能够定义显示的字段,你能够选择你想查看的字段。
    举个例子,如果你只需要看名为'pungki'用户的信息,你可以使用下面的命令:
    $ watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值