进程监控top free ps grep pgrep pkill kill & bg fg jobs nohup ctrl+z pstree

一、top命令

https://blog.csdn.net/gxiaop/article/details/55096686

 

1是显示其他cpu内容

M按照内存排序

P按照cpu排序

K 杀掉某个进行

nice 表示优先级改动过的,优先级数字越低,优先度越大

top -p 1234 显示1234的情况

二、free命令

free 按照kb显示

free -m 按照m显示

free -h 按照G显示

三、ps命令

https://blog.csdn.net/u014636209/article/details/82141742

ps -aux

ps aux --sort -pmem,+pcpu 按照内存降序,cpu升序查询,

 

进程属主 进程id cpu 内存 虚拟大小 页数 终端ID 状态 开始时间 运行时间 命令

STAT 进程状态(有以下几种)

D 无法中断的休眠状态(通常 IO 的进程);

R 正在运行可中在队列中可过行的;

S 处于休眠状态;

T 停止或被追踪;

W 进入内存交换(从内核2.6开始无效);

X 死掉的进程(从来没见过);

Z 僵尸进程;

< 优先级高的进程

N 优先级较低的进程

L 有些页被锁进内存;

s 进程的领导者(在它之下有子进程);

l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);

+ 位于后台的进程组;

ps -ef

最好加上-,否则信息很大。。。

 

用户ID 进程ID 父进程ID cpu 启动时间 终端ID 运行时间 命令

ps 根据uid来选择查看进程

  • ps -C 根据cmd命令来选
  • ps -G 根据组ID来选
  • ps -p 根据进程id来选
  • ps -s sessionID 来选
  • ps -t 根据tty 来选
  • ps -u 根据用户选

具体格式可以加f

ps -o 自定义格式

ps -o user,uid,uname,group,gid,args=COMMAND,cmd,tty,time,pmem.pcpu

中间加,或者再写个-o

四、grep fgrep pgrep egrep

https://blog.csdn.net/xiaoxinyu316/article/details/46729443

https://blog.csdn.net/weixin_42558057/article/details/82758467

grep 全局正则表达式打印

Global Regular Expressions Print

grep <flags> '<regular expression>' <filename>

grep '\<Tom\>' file   包含单词Tom的行

grep 'Tom savage' file 包含Tom savage的行

grep '^Tommy' file 包含以Tommy开头的行

grep '\.bak$' file 包含以.bak结束的行

grep '[Pp]yramid' file 包含pyramid 或Pyramid的单词的行

grep '[A-Z]' file 包含至少一个大写字母的行

grep '[0-9]' file 包含至少一个数字的行

grep '[A-Z]...[0-9]' file 包含五个字符,以大写开头, 和一个数字结尾的行.

grep -w '[tT]est' file 包含单词和test的行.

grep -s 'ken sun' file 找到包含ken sun的行, 但不打印行, 而是用来检查退出状态.

grep -v aaa file 打印不包含aaa的行.

grep -i cathy file 打印所有包含cathy的行, 而不考虑大小些.

grep -l 'dear cathy' * 打印包含dear cathy的文件的文件名清单.

grep -n tom file   打印匹配的行并追加行号.

grep "$LOGNAME" file 包含变量内容的行, 注意必须用双引号, 单引号则无法引用变量.

grep '$name' file 打印包含字符$name的行.

fgrep 固定字符串全局正则表达式打印

Fixed-string Global Regular Expressions Print

fgrep "$name...[a-z]" file 就是在file里面找到和字符$name...[a-z]一样的行. 其中$和...等没有转义的意义.

pgrep 进程ID全局正则表达式打印

Process-ID Global Regular Expressions Print

pgrep -l bash 全显示

 

pgrep -c bash 查找

 

pgrep bash 查找pid

 

pgrep -U uid 按uid 来查找

egrep 扩展正则表达式打印

Extended Global Regular Expressions Print

扩展表达式:

+ 匹配一个或者多个先前的字符, 至少一个先前字符.

? 匹配0个或者多个先前字符.

a|b|c 匹配a或b或c

() 字符组, 如: love(able|ers) 匹配loveable或lovers.

(..)(..)\1\2 模板匹配. \1代表前面第一个模板, \2代第二个括弧里面的模板.

x{m,n} =x\{m,n\} x的字符数量在m到n个之间.

egrep '^ +' file   以一个或者多个空格开头的行.

grep '^ *' file   同上

egrep '(TOM|DAN) SAVAGE' file 包含 TOM SAVAGE 和DAN SAVAGE的行.

egrep '(ab)+' file 包含至少一个ab的行.

egrep 'x[0-9]?' file 包含x或者x后面跟着0个或者多个数字的行.

egrep 'fun\.$' * 所有文件里面以fun.结尾的行.

egrep '[A-Z]+' file 至少包含一个大写字母的行.

egrep '[0-9]' file 至少一个数字的行.

egrep '[A-Z]...[0-9]' file 有五个字符, 第一个式大写, 最后一个是数字的行.

egrep '[tT]est' file 包含单词test或Test的行.

egrep 'ken sun' file 包含ken sun的行.

egrep -v 'marry' file 不包含marry的行.

egrep -i 'sam' file 不考虑sam的大小写,含有sam的行.

egrep -l "dear ken" * 包含dear ken的所有文件的清单.

egrep -n tom file 包含tom的行, 每行前面追加行号.

egrep -s "$name" file 找到变量名$name的, 不打印而是显示退出状态. 0表示找到. 1表示表达式没找到符合要求的, 2表示文件没找到.

 

五、pkill kill killall

https://blog.csdn.net/xc_zhou/article/details/80768891

killall 按全名字全杀

killall 参数 进程名字

-9 强制杀死 是终止信号

kill -19 进程名 发送暂停信号

kill -18 进程名 发送继续信号

killal -l 列出已知信号

kill -l KILL 查询指定信号的数字

kill 单进程杀死

kill [参数] [进程id]

kill %1 杀死 jobid

kill -9 进程号 杀死进程

pkill 按近似名字全杀

pkill 进程名字

pkill和killall区别,killall是全名称杀死,pkill近似的都杀死

pkill awk 所有awk名字全杀死

六、& bg fg jobs nohup ctrl+z

http://www.cnblogs.com/cy-8593/p/9523605.html

&

挂起后台执行,一旦断开终端,则任务终止

fg %N

fg %1 把后台程序放到前端

bg %N

bg %1 把工作好1号的任务继续执行

nohup

终端退出任务继续执行,一般和nohup CMD & 一起用

jobs

查看终端挂起来的任务

ctrl+z

终止执行,挂起到后端,可以kill -18 xxxx 或者bg %1继续运行

七、pstree 进程树

pstree 默认相当于pstree -p 1 从进程1扩展出来的进程

pstree -p pid 可以看某个ID 的进程树,往后扩展

pstree -p 2 守护进程树 不接受任何终端控制

 

猜你喜欢

转载自www.cnblogs.com/zhouguanglu/p/10214598.html