进程介绍!

01、写在前面

在计算机科学中,进程(Process)是指正在运行的程序的实例。它是计算机系统中一个具有独立执行流的单元,它包含了程序代码、数据以及程序运行所需的系统资源。简单来说,进程就是一个正在执行的程序。当你启动一个程序时,操作系统会为该程序创建一个对应的进程,并为其分配资源(如内存空间、CPU 时间等),然后在这个进程中运行程序的代码。

每个进程都有自己的地址空间,它包含了程序的代码、数据和堆栈等。不同进程之间通常是相互独立的,它们之间不能直接访问对方的地址空间,这种隔离性有助于确保系统的稳定性和安全性。操作系统负责管理和调度进程,它可以同时运行多个进程,并根据优先级和调度策略来分配 CPU 时间和其他资源。操作系统还提供了一些机制来实现进程之间的通信和同步,以便进程可以相互协作完成任务。

总的来说,进程是计算机系统中的一个基本概念,它代表了正在运行的程序的实例,是计算机系统中的基本执行单元。

02、进程相关操作

htop命令就相当于Linux中的任务管理器,能够返回正在运行进程的实时详细信息。

以下是 htop 返回的各列结果的含义:

PID:进程 ID,用于唯一标识每个进程。

USER:运行该进程的用户名。

PR:进程的优先级。

NI:进程的 nice 值,nice 值是一个影响进程调度优先级的参数。

VIRT:进程使用的虚拟内存大小。

RES:进程实际使用的物理内存大小(常驻集大小)。

SHR:进程使用的共享内存大小。

S:进程的状态,包括 R(运行)、S(睡眠)、D(不可中断的睡眠)、Z(僵尸/挂起)、T(停止)等。

%CPU:进程使用的 CPU 时间占总 CPU 时间的百分比。

%MEM:进程使用的物理内存占系统总内存的百分比。

TIME+:进程运行的累计 CPU 时间。

COMMAND:进程所对应的命令或程序的名称。

除了htop,ps也是一个常用的进程查看命令,用于显示当前系统中运行的进程信息。它可以显示各种不同的进程信息,如进程ID、所属用户、CPU占用率、内存占用情况等。以下是ps命令的一些常见用法及示例:

显示当前用户的所有进程:

  • ps

显示指定用户的进程:

复制代码
ps -u username# 例如:ps -u biomamba

显示所有进程及详细信息:

复制代码
ps aux

以树状结构显示进程:

复制代码
ps axjf

显示指定进程的信息:

复制代码
ps -p PID

按 CPU 占用率排序显示进程:

复制代码
ps aux --sort=-%cpu

显示进程的内存占用情况:

复制代码
ps aux --sort=-%mem

显示当前用户的前 10 个 CPU 占用率最高的进程:

复制代码
ps aux --sort=-%cpu | head -n 11

显示所有用户的内存占用情况并按内存占用率排序:

复制代码
ps aux --sort=-%mem
相关推荐
木下~learning13 分钟前
零基础Git入门:Linux+Gitee实战指南
linux·git·gitee·github·虚拟机·版本控制·ubunt
不愿透露姓名的大鹏13 分钟前
MySQL Binlog配置优化全攻略
运维·服务器·数据库·mysql·adb
●VON17 分钟前
本地大模型部署实录:从Docker环境搭建到Open WebUI公网访问
运维·docker·容器·大模型
IMPYLH24 分钟前
Linux 的 mkdir 命令
linux·运维·服务器·bash
yy_xzz28 分钟前
【Linux开发】多线程并发服务器(网络编程+多线程+线程同步实现的聊天服务器和客户端)
linux·服务器·网络
网络研究员32 分钟前
Facebook无法向他人发送消息?2026原因解析与解决思路
运维·服务器
电子阿板33 分钟前
ubuntu虚拟机查看tusb8041扩展坞及U盘的设置方法
linux·运维·ubuntu
迷路爸爸18035 分钟前
Docker 入门学习笔记 07:用一个多服务案例真正理解 Docker Compose
运维·笔记·学习·spring cloud·docker·容器·eureka
孤影过客35 分钟前
Linux下的PostgreSQL集群演进指南
linux·运维·postgresql
Arvin62740 分钟前
Jenkins 任务执行完成后会kill掉的衍生进程
运维·servlet·jenkins