ps:
ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.
注意:ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
参数:
- -A :所有的进程均显示出来,与 -e 具有同样的效用;
- -aux 显示所有包含其他使用者的进程
最常用的有ps -ef 和ps -aux,解释如下:
ps -ef 是用标准的格式显示进程的、其格式如下
其中各列的内容意思如下
UID //用户ID,但输出的是用户名
PID //当前进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动时间
TTY //该进程在哪个终端上运行,若与终端无关,则显示? ,若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数
ps aux 是用BSD的格式来显示、其格式如下
同ps -ef 不同的有列有
USER //用户名
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
其中STAT状态位常见的状态字符有
D //无法中断的休眠状态(通常 IO 的进程);
R /运行,正在运行或在运行队列中等待;
S //sleeping,中断,休眠中,在等待某个条件的形成或接受到信号;
T //停止,进程收到SIGSTOP,SIGSTP,SIGTOU信号后停止运行;
W //进入内存交换 (从内核2.6开始无效);
X //死掉的进程 (基本很少见);
Z //僵尸进程,进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放;
< //优先级高的进程
N //优先级较低的进程
L //有些页被锁进内存;
s //进程的领导者(在它之下有子进程);
l //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ //位于后台的进程组;
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133515.htm
grep:
参数:
- --color ###颜色着重显示命中的文件及文件件
- -n ###显示所检索内容在文件中的行号 number
- -i ###不区分大小写
- -c ###查找匹配的行数。输出类似于:filename1:0\n filename2:2.....
- -E ###切换为 egrep,支持正则表达式 grep -E -v '(^$|^#)' xxxx 等价于egrep -v '(^$|^#)' xxx
- -A n ###after 前面多少行,例如:grep ‘name’ -A 10 显示匹配内容和后面的10行
- -B n ###before 后面多少行,例如:grep ‘name’ -B 10 显示匹配内容和前面的10行
- -C n ###centor 前后多少行,例如:grep ‘name’ -C 10 显示匹配内容和前后面的10行
- -F 或 --fixed-regexp : 将样式视为固定字符串的列表。
- -v: 逆反模示, 输出不包含过滤字符串的内容.
- -r: 递归模式, 可同时处理所有层级子目录里的文件.
- -q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取 return value, 符合为 true, 否则为 false .)
- -w: 整词比对, 类似 \<word\> .
- -l: 只输出符合比对的文件名称. 例如:grep -l 'string' *.log只返回含有匹配数据的文件名
- -L:只返回不含有匹配数据的文件名,例如:grep -L 'string' *.log只返回不含有匹配数据的文件名
- -o: 只输出符合 RE 的字符串.
- -H:在匹配行输出文件名
pgrep命令是专门用于进程查询的grep。举例:$ pgrep firefox,输出为 1827
举例:
kill 命令总结
1.获取PID,kill -s 9 PID 其中-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。
2.pgrep firefox | xargs kill -s 9,把进程PID通过xargs传递给kill作参数,杀掉对应的进程。
3.kill -s 9 `pgrep firefox`
4.pkill -9 firefox,"-9" 即发送的信号是9,pkill无须 "s",终止信号等级直接跟在 "-" 后面