且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux进程的管理

更新时间:2022-09-28 22:05:39

1.进程的管理:
1)查进程:ps,top,pgrep,pstree
进程是程序运行后产生,需要消耗cpu和内存,分为子进程和父进程,子进程向父进程申请或提交资源。
ps:静态查看进程信息。
常用组合:ps aux ##aux前不能有“-”
案例:
ps aux 
RSS:物理内存,不包括swap,单位KB
VSZ:swap虚拟内存的使用
STAT:S休眠,R运行,Z僵尸,s父进程,l多线程,<高优先级,N低优先级,+前台进程
ps aux |wc -l ##统计进程数量

top:动态管理进程
案例:
top ##运行,推出使用q
load average:(cpu的平均负载,即cpu队列长度,表示cpu的繁忙程度)1 5 15分钟平均队列长度
zombie:僵尸进程数量
%id:cpu空闲值
buffers:主要硬盘I/O消耗内存,cache进程性能消耗缓存。
两者都是RAM中的数据。简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的。
buffer是由各种进程分配的,被用在如输入队列等方面,一个简单的例子如某个进程要求有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存。
cache经常被用在磁盘的I/O请求上,如果有多个进程都要访问某个文件,于是该文件便被做成cache以方便下次被访问,这样可提供系统性能。
使用技巧:
杀死进程:k-->pid-->9/15-->回车 (9强制杀死,15正常杀死)
h显示帮助,m安装内存使用排序
cat /dev/zero >/dev/null& ##增加cpu load使用top查看

pgrep:根据条件查看进程,一般配合pkill使用
案例:
useradd u01
echo 123123 |passwd --stdin u01
使用u01登陆执行:
cat /dev/zero >/dev/null 
切换到root:
pgrep -l -U u01 ##查看u01用户的所有进程
pkill -9 -U u01 ##杀死u01所有进程
passwd -l u01 ##锁定u01

pstree:树状结构查看进程信息
pstree -aup ##a显示详细信息,u显示用户,p进程号

2)启动进程:增
方式:手动和调度启动
a.手动启动
rpm -ivh /mnt/Packages/gpm-1tab
/etc/init.d/gpm start ##手动启动服务
top 杀死进程,查看效果
b.手动启动的前后台启动
ping 127.0.0.1 ##前台
ping 127.0.0.1 & ##后台运行
c.前后台切换
jobs -l ##查看后台进程
fg 任务号 ##将后的进程调度到前台
bg 任务号 ##将后台停止的进程运行
ctrl+Z ##将前台进程暂停并调度后台
案例:
vi /etc/sysconfig/network-scripts/ifcfg-eth0 ##修改mac地址和系统一致
按下ctrl+z,输入命令:ip a 查看mac,
fg ##调出修改,反复操作直到修改正确
jobs -l

3)杀死进程:删kill,killall,pkill
kill:按照进程号杀死
killall:按照进程名杀死
案例:
jobs -l ##查看进程号
kill -9 进程号 ##强制杀死
pstree -aup ##查看进程名称
killall -9 sshd ##把所有的sshd进程都杀死,造成误伤,无法远程登录
推荐使用kill -9更安全
/etc/init.d/sshd restart ##解决误伤sshd问题,或者reboot重启解决










本文转自信自己belive51CTO博客,原文链接: http://blog.51cto.com/11638205/2043791,如需转载请自行联系原作者