shell学习五十天----查看进程ps命令
进程列表
列出进程中最重要的命令便是进程状态命令:ps.
ps命令是进程状态(Process Status)的缩写.ps命令用来列出系统中当前执行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,假设想要动态的显示进程信息,就能够使用top命令.
要对进程进行检測和控制,首先必需要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同一时候也是很强大的进程查看命令.使用该命令能够确定有哪些进程正在执行和执行的状态,进程是否结束,进程有没有僵尸,哪些进程占用了过多的资源等等.总之大部分信息都是能够通过执行该命令得到的.
ps为我们提供了进程的一次性(不要给性加重音)的查看,他所提供的查看结果并不动态连续;假设想对进程进行时间监控,应该使用top工具.
kill命令用来杀死进程
Linux上进程有五种状态
1.执行(正在执行或在执行队列中的等待)
2.中断(休眠中,受阻,在等待某个条件的形成或接收到信号)
3.不可中断(收到信号不唤醒和不可执行,进程必须等待直到有中断发生)
4.僵尸(进程已终止,但进程描写叙述符存在,直到父进程调用wait()系统调用后释放)
5.停止(进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止执行)
ps工具标识进程的物种状态码:
状态码 |
说明 |
D |
不可中断 |
R |
执行 |
S |
中断 |
T |
停止 |
Z |
僵尸 |
ps具体解释:
1.命令格式:
ps [參数]
2.功能
用来显示当前进程的状态
3.命令參数
參数 |
说明 |
a |
显示全部进程 |
-a |
显示统一终端下的全部程序 |
-A |
显示全部进程 |
c |
显示进程的真实名称 |
-N |
反向选择 |
-e |
等于”-A” |
e |
显示环境变量 |
f |
显示程序间的关系 |
-H |
显示树状结构 |
r |
显示当前中断的进程 |
T |
显示当前终端的全部进程 |
u |
指定用户的全部进程 |
-au |
显示较具体的资讯 |
-aux |
显示全部包括其它使用者的进程 |
-C<命令> |
列出指定命令的状态 |
--lines<行数> |
每页显示的行数 |
--width<字符数> |
每页显示的字符数 |
--help |
显示帮助信息 |
--version |
显示版本号信息 |
4.简单的使用
案例1:显示全部进程:
#ps -A
PID TTY TIME CMD
1 ? 00:00:04 init
2 ?
00:00:00 kthreadd
3 ? 00:00:00 migration/0
省略部分结果
案例2:显示指定用户信息:
#ps -u root
PID TTY TIME CMD
1 ?
00:00:04 init
2 ?
00:00:00 kthreadd
3 ? 00:00:00 migration/0
省略部分结果
案例3:显示全部进程信息,连同命令行
#ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 19:45 ? 00:00:04 /sbin/init
root 2 0 0 19:45 ?
00:00:00 [kthreadd]
root 3 2 0 19:45 ?
00:00:00 [migration/0]
root 4 2 0 19:45 ? 00:00:00 [ksoftirqd/0]
省略部分结果
案例4: ps与grep经常使用组合使用方法,查找特定进程
命令:
#ps -ef|grep ssh
root 1358 1 0 19:46 ? 00:00:00 /usr/sbin/sshd
root 1650 1358 0 19:47 ? 00:00:00 sshd: root@pts/0
root 3598 1652 0 21:27 pts/0 00:00:00 grep ssh
案例5:将眼下属于您自己这次登入的PID与相关信息列出
#ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1652 1650 0 80 0 - 27116 wait pts/0 00:00:00 bash
4 R 0 3600 1652 0 80 0 - 27033 - pts/0 00:00:00 ps
分析说明:各相关信息的意义:
F代表这个程序的标识(flag),4代表使用者为super user
S代表这个程序的状态(STAT).
UID:程序被该UID所拥有
PID:就是这个程序的ID
PPID:则是其上级父程序的ID
C:CPU使用的资源百分比
PRI:这个是Priority(优先执序行)的缩写
NI:这个是nice值
ADDR:这个是kernel function,指出该程序在内存的那个部分.假设是个running的程序,一般就是”-”.
SZ:使用掉的内存大小
WCHAN:眼下这个程序是否正在运作其中,若为-表示正在运作
TTY: 登入这的终端机位置
TIME: 使用掉的CPU时间
CMD:所下达的指令为何
在预设的情况下,ps仅会列出与眼下所在的bash shell有关的PID而已,所以当我们使用ps -l的时候,仅仅有三个PID.
案例6:列出眼下全部的正在内存其中的程序
#ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19356 1612 ? Ss 19:45 0:04 /sbin/init
root 2 0.0 0.0 0 0 ? S 19:45 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 19:45 0:00 [migration/0]
省略部分结果
分析说明:
USER:该process是属于哪个使用者账号的
PID:该process的号码
%CPU:该process使用掉的CPU资源百分比
%MEM:该process所占用的物理内存百分比
VSZ:该process使用掉的虚拟内存量(kb)
RSS:该process占用的固定的内存量(kb)
TTY:该process是在哪个终端机上执行,若与终端机无关,则显示 ? ,另外,tty1-tty6表示本机上的登入者程序,若为pts/0等等,则表示为由网络接进主机的程序.
STAT:该程序眼下的状态,主要状态有:R(该程序眼下正在执行,或者是可被执行),S(该程序眼下正在睡眠中,但可被某些讯号唤醒),T(该程序应该已经终止,可是其父进程却无法正常的终止它,造成僵死程序的状态).
START:该process被触发启动的时间
TIME:该process实际使用CPU运作的时间
COMMAND:该程序的实际命令.
案例7:列出类似程序树的程序显示
#ps -axjf
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
0 2 0 0 ? -1 S 0 0:00 [kthreadd]
2 3 0 0 ? -1 S 0 0:00 \_ [migration/0]
2 4 0 0 ?
-1 S 0 0:00 \_ [ksoftirqd/0]
2 5 0 0 ? -1 S 0 0:00 \_ [migration/0]
其它案例:
使用:
#ps -aux|more //实现分页查看
使用:
#ps -aux>test.txt //把全部进程显示出来,并输出到test.txt文件
使用:
#ps -o pid,ppid,pgrp,session,tpgid,comm//输出指定的字段
PID PPID PGRP SESS TPGID COMMAND
1556 1554 1556 1556 1582 bash
1582 1556 1582 1556 1582 ps
shell学习五十天----查看进程ps命令的更多相关文章
- shell学习五十六天----延迟进程调度
延迟进程调度 前言:大部分时候,我们都希望进程快点開始,开点结束,别卡.而shell的运行,也是在前一个命令后,立即接着运行下一个命令.命令完毕的速度是与资源的限制有关,且不在shell的权限下. 在 ...
- linux(6)查看进程ps命令
ps命令 Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器 查看所有进程 ps -A 显示所有进程信息,连同命令行 ps - ...
- Shell学习(十)——du、df命令
一.du 命令 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all 显示目录中个别文件的大小. -b或-bytes 显示目录或文 ...
- 查看进程的命令ps
查看进程的命令:ps aux strace -p pid(进程id) 杀死进程:kill pid(进程id)强制杀死进程:kill -9 pid(进程id) linux ps 命令查看进程状态linu ...
- Linux下查看进程的命令输出的内容解释
Linux下查看进程的命令输出的内容解释 ps (process status) ps -e 或者ps -A (-e和-A完全一样) PID TTY TIME ...
- shell学习四十九天----进程建立
进程 前言:进程指的是运行中程序的一个实例.新进程由fork()与execve()等系统调用所起始,然后运行,知道他们下达exit()系统调用为止. linux系统都支持多进程.尽管计算机看起来像是一 ...
- Linux编程 6 (查看进程 ps 及输出风格)
一.查看进程命令ps 1.1 默认ps 命令 在默认情况下,ps命令只会显示运行在当前控制台下,属于当前用户的进程,在上图中,我们只运行了bash shell以及ps命令本身. 上图中显示了程序的进程 ...
- 浅谈Linux系统中如何查看进程 ——ps,pstree,top,w,全解
进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源.一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝. 1,ps命令 作用:p ...
- LINUX编程学习笔记(十四) 创建进程与 父子进程内存空间
1什么是进程:进程是一个执行中的程序 执行的程序: 代码->资源->CPU 进程有很多数据维护:进程状态/进程属性 所有进程属性采用的一个树形结构体维护 ps -a//所有进程 ps - ...
随机推荐
- 2.sql server的管理
sql server的管理:需要安装sql server 2005或者sql server 2008,若要使用sqlserver管理工具进行开发还要安装sql server management st ...
- JS 有趣的eval优化输入验证
//eval就是计算字符串[可以放任何js代码]里的值 . var str1='12+3'; eval(str1); . var str2='[1,2,3]'; eval(str2[]); .eval ...
- MYSQL 代码删除和添加表格列方法
一个表格建立后用代码删除或添加列: -- 删除列alter table teacher drop column create_time;-- 添加列alter table teacher add co ...
- centos开机运行级别更改
1.使用命令切换运行级别/目标 # systemctl isolate multi-user.target //切换到运行级别3,该命令对下次启动无影响,等价于telinit 3 # systemct ...
- SLAM: Inverse Depth Parametrization for Monocular SALM
首语: 此文实现客观的评测了使线性化的反转深度的效果.整篇只在表明反转可以线性化,解决距离增加带来的增长问题,有多少优势--%! 我的天呢!我竟然完整得翻译了一遍. 使用标记点地图构建SLAM的方法, ...
- 使用replace pioneer批量修改文件名
shell的正则表达式还是很难记忆的,也没有沉静的心情看文档,于是使用了replace pioneer. 1. 启动replace pioneer,Tools->batch runner , ...
- Linux 之WinSCP连接FTP
1.安装vsftpd 2.ftp命令 /sbin/service vsftpd start /sbin/service vsftpd restart /sbin/service vsftpd stop ...
- HTML 1.1页面js修改文字颜色
昨天的报告页面,想要实现根据不同文字内容改变字体颜色,效果图: 调试了半天出不来效果,最后请教了前端,上代码: <!DOCTYPE html> <html lang="en ...
- TensorFlow学习笔记----例子(2)
使用TensorFlow中的梯度下降法构建线性学习模型的使用示例:(来源:https://morvanzhou.github.io/tutorials/machine-learning/tensorf ...
- ZooKeeper 运维经验
转自:http://www.juvenxu.com/2015/03/20/experiences-on-zookeeper-ops/ ZooKeeper 运维经验 ZooKeeper 是分布式环境下非 ...