linux2.6 进程0 进程1,2-6·Linux系统进程管理

一·简介系统管理

简单了解三个概念

1)进程

正在执行的程序

当前占用系统资源

2)服务进程

服务的进程如apache、nginx、ntpd

命令进程 ls 、cd 、pwd

3)进程管理

维护服务器、健康检查

管理当前系统的进程

杀死、终止进程

进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。

进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。

二·进程的查看

1)ps 查看进程

ps -aux //列出当前所有进程

ps aux //与上相同,两种方法都对,只是命令格式遵循不同

ps -le //列出当前所有进程

ps a 显示现行终端机下的所有程序,包括其他用户的程序。

ps -A 显示所有程序。

ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

ps -e 此参数的效果和指定”A”参数相同。

ps e 列出程序时,显示每个程序所使用的环境变量。

ps f 用ASCII字符显示树状结构,表达程序间的相互关系。

ps -H 显示树状结构,表示程序间的相互关系。

ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。

ps s 采用程序信号的格式显示程序状况。

ps S 列出程序时,包括已中断的子程序资料。

ps -t 指定终端机编号,并列出属于该终端机的程序的状况。

ps u 以用户为主的格式来显示程序状况。

ps x 显示所有程序,不以终端机来区分。

最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。

ps -aux | grep sshd //查看sshd占用哪些进程

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

用户 PID CPU 内存 虚拟内存 终端 状态 启动时间 耗费cpu时间 进程名称

root 1535 0.0 0.3 82488 3560 ? Ss 02:49 0:00 /usr/sbin/sshd -D

tty代表本地终端

pts代表远程终端

2)pstree 查看进程树

pstree

-p:拆分子进程-u:查看用户

3)top 动态进程查看

top

1、每3秒刷新一次;

2、最主要的作用是查看顶端5行判断系统健康状况(主要查看的参数)

①load average: 0.00, 0.00, 0.00 #表示系统在之前1分钟,5分钟,15分钟的平均负载。按照CPU核数判断大小

②Cpu(s):…99.8%id #CPU空闲百分比

③Mem:…6780k free #内存空闲率

④Swap:…536723k free #swap空闲率

认识缓存与缓冲

buffer #缓冲,用于加速写入;「cpu数据往硬盘中写」

cashed #缓存,用于加速读出。「cpu调取硬盘数据」

3、查看系统中所有进程的CPU占比:#top -b -n 1 > top.log

*top比较耗费内存,用完立刻关闭(Windows中的任务管理器同理)

*服务器应该正常地有计划地定时重启,可以排除一些故障。

三·终止进程命令

1)使用linux操作系统,难免遇到一些软件”卡壳”的问题,这时就需要使用linux下强大的kill命令来结束相关进程。这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号。

2)kill -l #查看可用的进程信号

-s:指定发送的信号。

-p:模拟发送信号。

-l:指定信号的名称列表。

信号代号 信号名称 说明

(1) SIGHUP: 让程序重读配置文件,而不用重启程序

(2) SIGINT: 中断信号,Ctrl+c即发送此信号

(9) SIGKILL:杀死进程

(15) SIGTERM:终止进程

平滑重启服务: 正常修改完配置文件后,需要重启服务,但是用普通的restart来重启会提出正在使用的用户,造成不好的用户体验。而平滑重启是重启服务配置,保留正在使用的用户。

命令: kill -HUP(或-1) 进程号

kill一次只能杀死一个进程。但是一个服务经常会开启很多进程(比如httpd,每登陆一个用户就会增加一个进程),因此一个个进程关闭太麻烦,可能就要用到killall或者 pkill 可以批量杀死同一类型的进程

kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源。在安装和登陆命令时,当系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。

在 Linux中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。比如,如果Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用ps命令查找该程序的 PID,然后使用kill命令停止这个程序:

#kill -SIGKILL XXX

3)killall

#killall [选项] [信号] 进程名

按照进程名杀死进程,可以批量杀死同一类型的进程

选项:

–> -i:交互式,询问是否要杀死某个进程

–> -I:大写的,忽略进程名的大小写

4)pkill

#pkill [选项] [信号] 进程名

按照进程名终止进程,可以批量杀死同一类型的进程

–> -t 终端号:按照终端号踢出用户

如何踢出用户(较为实用)

w #查看当前登陆用户的用户 TTY列为终端号

按照终端号杀死进程

pkill -9 -t tty1

只有超级用户才能剔除用户

四·进程优先级

1)每一个cpu在一个时间周期只处理一个指令进程,但其处理速度极快,所以我们感觉不到

cpu的速度单位为GHZ/s,代表每秒可处理以G为单位的数据,并且是反复处理,所以以HZ(赫兹)位后缀单位

2)系统优先级:

查看系统优先级:#ps -le

只有NI可以改

PRI(priority)不可改

最终是PRI,NI相加的结果

但是priority是系统内核最终生效的

优先级越接触0,则优先级越高~

3)nice:使用前必须先停止进程

nice [选项] [进程]

nice -n -5 server httpd start

4)

renice:可以修正在运行的进程

renice [选项] [PID]

renice -10 1845

5)一般我们使用系统默认优先级即可,除非特殊需要,比如内核裁剪,内核编程

注意此处优先级只是cpu处理数据的优先级,和网络优先级并无关系

这里要提醒大家,一般我们不用更改优先级,非专业人士,勿用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值