Linux进程管理

102 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第16天,点击查看活动详情

什么是进程?

基本介绍

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

2)每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如:www服务器。

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

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

ps-显示系统执行进程

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数.

ps显示的部分信息选项:

在这里插入图片描述 ps-a:显示当前终端的所有进程信息

ps -u:以用户的格式显示进程信息

ps -x:显示后台进程运行的参数

试一把,东西会比较多,一般搭配 | 通道符

ps -aux | more

在这里插入图片描述

ps详解

ps详解

1)指令:ps -aux | grep xxx ,比如我看看有没有sshd服务

ps -aux | grep sshd

在这里插入图片描述

2)指令说明

字段表示含义
USR用户名称
PID进程号
%CPU进程占用CPU的百分比
%MEM进程占用物理内存的百分比
vsz进程占用的虚拟内存大小(单位:KB)
RSS进程占用的物理内存大小(单位:KB)
TT终端名称,缩写.
STAT进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵尸进程,T-被跟踪或者被停止等等
STARTED进程的启动时间
TIMECPU时间,即进程使用CPU的总时间
COMMAND启动进程所用的命令和参数,如果过长会被截断显示

有时候我们想查看父进程,就 ps -ef | more 在这里插入图片描述 PPID就是我们的父进程

如何终止进程

介绍: 若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

基本语法:

kill [选项] 进程号(功能描述:通过进程号杀死进程) killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

常用选项:

-9:表示强迫进程立即停止 最佳实践: 案例1:踢掉某个非法登录用户 先使用 ps -aux | grep sshd 找到非法用户 jack,找到他的进程号“4010”。 再使用kill 4010结束进程 在这里插入图片描述

案例2:终止远程登录服务sshd,在适当时候再次重启sshd服务 找到sshd的进程号:3908,直接kill 3908 在这里插入图片描述

案例3:终止多个gedit编辑器

killall gedit

在这里插入图片描述

案例4:强制杀掉一个终端

终端的名称叫 bash

ps -aux | grep bash

在这里插入图片描述

查看进程树pstree

基本语法: pstree [选项],可以更加直观的来看进程信息常用选项: -p :显示进程的PID -u :显示进程的所属用户应用实例: 案例1:请你树状的形式显示进程的pid 在这里插入图片描述

案例2:请你树状的形式进程的用户id

pstree -u