如何查找系统中运行的进程与程序-如何管理进程

在 Linux 系统上运行的所有内容、每个用户的作业、每个系统监视器等都作为进程运行。因此,进程管理是Linux系统管理的一个非常重要的方面。在本章中,我们将详细介绍如何管理流程:

■ 如何查找系统上运行的进程。

■ 识别正在破坏系统的进程。

■ 如何终止进程。

■ 如何管理流程。

1 什么是进程1.1 进程的定义

进程是操作系统的概念。每当我们执行程序时,都会为操作系统创建一个进程。在这个过程中,资源被分配和释放。一个进程可以被认为是一个程序的一次执行。

1.2 进程和程序

1)bin目录下有很多二进制可执行文件,这些文件放在程序里。

2)如果执行一个可执行文件,运行的程序称为进程,进程是OS(操作系统)任务调度的基本单位。

3)程序只占用磁盘空间,不占用系统资源;进程将程序加载到内存中,运行的进程占用系统资源。一个程序可以启动多个进程。

4) 进程有一个生命周期。每个进程都有一个 ID (PID) 和一个父进程 ID (PPID)。

1.3 调用过程(满足多用户操作的需要)

程序会从父进程复制(fork)生成一个完全相同的子进程,然后复制的子进程通过exec方法执行实际的程序,最终成为子进程。存在。下图是调用过程的详细说明:

2进程管理2.1查看进程:ps

Linux 中的 ps 命令是 Process Status 的缩写。 ps 命令用于列出系统中当前正在运行的那些进程。 ps 命令列出当前进程的快照linux查看端口被哪个进程占用,即执行 ps 命令时的那些进程。

要对进程进行监控,首先要了解当前进程,也就是需要查看当前进程,而ps命令是最基本也是非常强大的进程查看命令。使用该命令可以判断哪些进程正在运行以及它们的运行状态,进程是否终止,进程是否死机,哪些进程占用了太多资源等等。总之,执行这个命令就可以得到大部分信息。

命令格式:

ps [参数]

命令功能:

用于显示当前进程的状态。

例子:

1)列出当前内存中的所有程序

ps -aux
ps -ef

图片[1]-如何查找系统中运行的进程与程序-如何管理进程-唐朝资源网

每个字段的详细说明:

3)常用ps和grep组合查找具体进程

ps -aux |grep 要查找的进程关键字
ps -ef | grep 要查找的进程关键字

每一列的含义如下:

UID:用户ID,但输出的是用户名

PID:进程的ID

PPID:父进程ID

C:进程占用CPU的百分比

STIME:进程开始的时间

TTY:进程正在终端上运行。如果与终端无关,会显示 ?如果是pts/0等,说明宿主进程是通过网络连接的。

TIME:进程占用的CPU时间

CMD:命令名称和参数

过滤一列中的所有数据:

awk 工作流程:

如果分隔符是“空格键”或“[tab]键”,不需要加-F, awk ‘{print $n}’

如果不是默认分隔符:

awk -F ‘分隔符’ ‘{print $n}’

读入一条用’n’换行符分隔的记录,然后根据指定的字段分隔符将记录分成字段,填写字段,

$0 表示所有域;

$1 代表第一个域;

$n代表第n个域;

默认的字段分隔符是“空格键”或“[tab]键”

字符串的拆分方法

如何找到特定命令的进程 ID?

示例 2:

图片[2]-如何查找系统中运行的进程与程序-如何管理进程-唐朝资源网

过滤掉年龄列

2.2 终止指定进程:kill

Linux中的kill命令用于终止指定进程的运行(terminate a process)。是Linux下进程管理的常用命令。通常,您可以使用 Ctrl+C 键来终止前台进程。但是,对于后台进程,您必须使用 kill 命令终止它。我们需要使用ps/top等工具获取进程PID,然后使用kill命令杀掉进程。 .

命令格式:

kill [参数] [进程号]

命令功能:

将指定的信号发送给对应的进程。不指定模型将发送指定进程终止。

root用户会影响用户的进程,非root用户只能影响自己的进程。 .

参数:

-15:终止进程并将指定的信号发送给相应的进程。不指定模型将发送指定进程终止。

-9:强制终止进程。

例子:

1)查看指定进程并终止进程

ps -ef | grep xxx
kill -15 查出来的指定进程号

2)查看指定进程并强制终止进程

ps -ef | grep xxx
kill -9 查出来的指定进程号

2.3 实时监控:top

top命令是Linux下常用的性能分析工具,可以实时显示系统中各个进程的资源占用情况,类似于Windows的任务管理器。

top是一个动态的显示过程,即当前状态可以通过用户的按键不断刷新。如果命令在前台执行linux查看端口被哪个进程占用,它将独占前台,直到用户终止程序。更准确地说,top 命令提供对系统处理器状态的实时监控。它将显示系统中最“CPU 敏感”任务的列表。

该命令可以按CPU使用率、内存使用率和执行时间对任务进行排序;该命令的许多功能可以通过交互命令或在自定义文件中设置。

命令格式:

top [参数]

命令功能:

显示系统当前正在执行的进程的信息,包括进程ID、内存使用情况、CPU使用情况等。

参数:

例子:

1)显示进程信息

说明:

前五行是当前系统情况的整体统计信息区域。下面我们来看看每一行信息的具体含义。

第一行,任务队列信息,和uptime命令的执行结果一样。具体参数如下:

1)当前系统时间

2)系统运行时间

3)当前登录系统的用户数

4)负载平均后的三个数字分别是1分钟、5分钟、15分钟的负载条件。负载平均数据是每5秒检查一次活动进程的数量,然后根据特定的算法计算该值。如果这个数字除以逻辑 CPU 的数量,大于 5 的结果表明系统过载。

第二行,Tasks – 任务(进程),具体信息如下:

1)系统当前进程总数

2)正在运行的进程数

3)休眠的进程数

4)处于停止状态的进程数

5)僵尸状态的进程数

第三行,cpu状态信息,具体属性描述如下:

5.9%us — 用户空间使用的 CPU 百分比。

3.4% sy — 内核空间使用的 CPU 百分比。

0.0% ni — 改变优先级的进程占用 CPU 的百分比

90.4% id — 空闲 CPU 的百分比

0.0% wa——IO等待占用CPU的百分比

0.0% hi — 硬件 IRQ 占用 CPU 的百分比

0.2% si — 软件中断占用 CPU 的百分比

第四行,内存状态,具体信息如下:

1)总物理内存(32GB)

2)使用的总内存(14GB)

3)总可用内存(18GB)

4)缓存内存(169M)

第五行,swap交换分区信息,具体信息如下:

1)总交换区(32GB)

2)已使用的交换区总量(0K)

3)总空闲交换区(32GB)

4)总缓冲交换区 (3.6GB)

第六行,空白。

第七行以下:各个进程(任务)的状态监控,item栏信息解释如下:

PID — 进程 ID

USER — 进程所有者

PR – 进程优先级

NI——物超所值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,以千字节为单位。 VIRT=SWAP+RES

RES — 未被换出的进程使用的物理内存大小,以 kb 为单位。 RES=代码+数据

SHR — 共享内存大小,以 kb 为单位

S — 进程状态。 D=不间断睡眠状态 R=运行中 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 自上次更新以来使用的 CPU 时间百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的总 CPU 时间,以 1/100 秒为单位

COMMAND——进程名(命令行名/命令行)

2)高亮当前正在运行的进程

点击键盘上的“b”(打开/关闭突出显示)

3)处理字段排序

默认进入top时,每个进程按CPU使用率排序,按键盘“x”(开启/关闭排序栏高亮效果)

3 如何查看端口的占用情况

在使用Linux系统过程中,有时端口被占用,服务无法启动。

比如Tomcat使用了8080端口,但是再次启动Tomcat时,发现这个端口正在使用中。

此时需要查看是哪个进程占用了该端口,以决定进一步的处理方式。

#根据端口号找到对应的执行进程
netstat -apn | grep 端口号
#再根据进程找到对应的进程执行信息
ps -aux | grep 进程号 

使用22端口演示

端口 22:ssh 端口

图片[3]-如何查找系统中运行的进程与程序-如何管理进程-唐朝资源网

临时安装一个tomcat,下面是通过Tomcat端口查找具体进程信息。

© 版权声明
THE END
喜欢就支持一下吧
点赞235赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容