欢迎来到Cecilia陈的博客

孤独,是人一生最好的修行。

18 进程管理

一、基本介绍

1.在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号

2.每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程

3.每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行

4.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束

二、显示系统执行的进程

1. 说明

查看进行使用的指令是 ps ,一般来说使用的参数是 ps -aux,ps -ef,正常与grep连用

2. 指令详解

BSD 风格 详解

user 			用户名称
pid				进程号
%cpu			进程占用cpu百分比
%%mem			进程占用物理内存的百分比
vsz				进程占用虚拟内存的大小
rss				进程占用物理内存的大小
tty				终端名称(后台则为?)
stat			进程状态
	S:睡眠
	s:会话的先导进程
	N:进程拥有比普通优先级更低的优先级
	R:正在运行
	D:短期等待
	Z:僵尸进程
	T:被跟踪或者被停止
start			进程启动时间
time			使用cpu总时间
command			启动进程所用的命令和参数,如果过长会被截断显示

systen V 风格详解

uid 			用户id
pid				进程id
ppid			父进程id
C				进程占cpu百分比
stime			进程启动时间
tty				终端名称(后台则为?)
cmd				启动进程所用的命令和参数
例子:
1.查看sshd进程的父进程id是多少
	ps -ef | grep sshd

三、终止进程kill和killall

说明

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。

基本语法

kill 进程号
	-9 强迫进程立即停止
killall 进程名称

案例

1.踢掉某个非法登录用户
	kill 进程号
	
2.终止远程登录服务	
(有可能我的系统目前在维护,不希望任何人通过远程登录到我的服务器上,可以暂时的关掉sshd服务)
   	usr/sbin/sshd 对应的进程号 --kill掉
   	
   	查看sshd服务的状态:service sshd status
   	显示:已停
    
3.重启sshd服务
	service sshd start

3.终止多个 gedit  编辑器 【killall, 通过进程名称来终止进程】
	kiall gedit

4.强制杀掉一个终端
	先查看终端程序
	ps -ef | grep bash
	kill 进程号 # 返现没有用
	# 所以需要强制终止
	kill -9 进程号

四、查看进程树 pstree

以树的方式去显示当前启动的所有进程

pstree [选项]
	-p    查看进程pid
	-u	  查看进程所属用户
# 也可以单独按用户名查找

pstree -u | grep wukong

五、动态进程监控

1. 说明

top与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于
top 在执行一段时间可以更新正在运行的的进程

类似于windows的任务管理器

2. 基本语法

top [选项]
	-d			指定每隔几秒更新,默认3秒
	-i			不显示任何闲置或者僵尸进程
	-p id号		监听指定进程


交互操作:
P		以cpu使用率排序,默认就这个
M		以内存使用率排序
N		以pid排序
u		监听具体用户
k		终止指定进程
q		退出top

posted @ 2020-01-12 16:51  Cecilia陈  阅读(90)  评论(0编辑  收藏  举报