进程管理

查看进程方式1:ps

  ps(process scan)

  ps aux(无横杠的)

  ps -elf(有横杠的)

 

ps a   终端上开启的进程

ps au 终端上开启的进程 详细版

ps aux 会显示所有的进程

 

PID是process identify进程标识

%CPU 占用cpu百分比

%MEM 内存百分比

VSZ占用虚拟内存的大小

RSS占用真实物理内存的大小

tty表示是在哪一个终端上打开的,?表示随机器启动,并不属于哪个终端

STAT进程的状态:S表示sleep(休眠,操作系统此时没有处理该进程)

        R表示running(运行,操作系统正在处理的进程)

        Z表示zombie(僵尸,僵死,某一个进程在退出之前的返回状态,如果这种状态持续到人类能看到他,就不正常了)

        T表示stop(暂停状态)

具体还有什么状态  man ps

 

 

ps -e  显示所有进程

ps -el 以长格式显示所有进程

ps -elf完整形式显示所有进程

 

--------------------------------------------

查看进程方式2:top

 

目前有一个用户,load average表示cpu的负载,分别表示前一分钟 五分钟十五分钟到现在的等待cpu处理的进程队列平均长度

11个进程,以及分别的状态

不同于ps,这里显示的进程都是动态的

按P使用cpu排序  按M使用内存排序

发现占用内存cpu高的而且又不重要的,可以按k然后输入PID杀死

q退出

------------------------

查看进程方式3:pgrep

查看eye进程名的PID: pgrep eye

查看eye进程的PID详细(会以pid和名称对应的形式显示):pgrep -l eye

 

查看进程方式4:pidofpidof与pgrep不同,必须要写完整的名称:pidof xeyes

查看进程方式5:lsof

比如我们如果装了apache服务的话,设置默认端口为80,就可以只用lsof查看80端口的所有进程

查看进程方式6:pstree(之前说过了)

系统第一个启动的进程是init进程,之后是他的子进程

 

(a:arguement参数 u所有者 p:pid)

pstree -aup


 

杀死进程

首先查看该进程的pid,然后(15是信号,不写默认就是15,7879是进程pid):

kill -15 7879

如果碰到一些顽固进程就是用-9,强制杀死

kill -9 7879

 

还有一些其他的信号:

  -19 指暂停线程

  -18 指激活进程

详情可以使用kill -l查看所有信号数字

 

------------------------------------------

pkill后边可以跟进程的名称

pkill xeyes

------------------------------------------

killall

假如很多用户通过ssh连接到这台服务器,就可以使用killall -9 sshd杀死所有这种进程

 

posted on 2016-03-14 20:47  itliucheng  阅读(367)  评论(0编辑  收藏  举报