Linux---ps命令

ops/2024/11/26 1:14:10/

​​​​​​Linux ps 命令 | 菜鸟教程 (runoob.com)

process status

用于显示进程的状态

  • USER: 用户名,运行此进程的用户名。
  • PID: 进程ID(Process ID),每个进程的唯一标识号
  • %CPU: 进程当前使用的CPU百分比
  • %MEM: 进程当前使用的内存百分比
  • VSZ: 虚拟内存大小(Virtual Memory Size),进程占用的虚拟内存总量,单位为KB。
  • RSS: 常驻内存集大小(Resident Set Size),进程占用的物理内存总量,单位为KB。
  • TTY:  进程的控制终端(Teletypewriter),如果与终端相关联,则显示终端的设备名,否则显示?
  • STAT:进程状态(Process Status)
  • START: 进程启动时间
  • TIME: CPU时间,进程使用的总CPU时间
  • 命令名/命令行,启动进程的命令

-------

Linux和类Unix操作系统中,进程状态(Process Status)指的是一个进程在任意给定时间点的运行情况。进程可以处于多种状态之一,这些状态指示了进程正在执行的操作或者它为什么没有被运行。以下是常见的进程状态:

  1. R (Running): 进程正在运行或者正在等待运行。在多任务操作系统中,处于R状态的进程可能实际上正在使用CPU或者等待被调度

  2. S (Sleeping): 进程正在睡眠,等待某个事件的发生(比如I/O请求完成或者定时器到期)。尽管这个进程没有在运行,但它仍然是活跃的。

  3. D (Uninterruptible Sleep): 进程处于不可中断睡眠状态,通常是在等待磁盘I/O,这种状态下的进程不会响应任何信号,只能通过重启来恢复。

  4. T (Stopped): 进程被信号停止,比如通过发送SIGSTOP信号。进程可以在之后通过SIGCONT信号恢复运行。

  5. Z (Zombie): 进程已经结束,但是其父进程尚未通过wait()系统调用读取其退出状态。僵尸进程不占用任何资源,除了在进程表中保留一个条目。

  6. X (Dead): 这个状态通常不会显示在ps命令的输出中,它表示进程已经结束并且其父进程已经获取了其退出状态。

  7. < (High Priority): 进程运行在高于普通优先级的优先级上。

  8. N (Low Priority): 进程运行在低于普通优先级的优先级上。

  9. s (Session Leader): 进程是会话领导者

  10. l (Multi-threaded): 进程是多线程的。

  11. + (Foreground Process Group): 进程是前台进程组的一部分。

-------

什么是会话领导者

在Unix和Linux操作系统中,会话领导者(Session Leader)是指创建了一个会话(session)的进程。会话是一个或多个进程组的集合,它们是通过进程控制手段(如作业控制)相关联的。会话领导者负责一些特定的任务,比如:

  1. 会话的控制:会话领导者负责管理会话中的进程组,包括前台和后台进程组

  2. 终端的访问:会话领导者通常是与一个终端设备相关联的,它负责处理来自该终端的输入和向终端输出。

  3. 信号的接收:会话领导者接收来自终端的信号,比如当用户按下中断键(通常是Ctrl+C)时,会话领导者会接收到SIGINT信号,并决定如何处理这个信号。

以下是一些关于会话领导者的关键点:

  • 会话ID(SID):每个会话都有一个唯一的会话ID(SID),会话领导者的进程组ID(PGID)通常与其SID相同。

  • 创建会话:一个进程可以通过调用setsid()系统调用来创建一个新的会话。调用setsid()的进程将成为新会话的会话领导者

  • 孤儿进程组:如果会话领导者终止,其子进程组可能会变成孤儿进程组。在这种情况下,通常会有一个挂起的作业成为新的会话领导者。

  • 前台和后台进程组:在会话中,只有一个进程组可以作为前台进程组接收来自终端的输入。其他进程组则是后台进程组

会话领导者对于作业控制和终端行为的管理非常重要。例如,在shell中,当你启动一个命令时,shell通常会作为会话领导者,并且可以将会话中的进程置于前台或后台,以及控制它们如何响应终端事件。

------- 

  • TTY:进程的控制终端是 tty2,这表明它是在第二个虚拟控制台终端上运行的。

------

虚拟控制台

 虚拟控制台(Virtual Console)是在Linux和类Unix操作系统中提供的一种功能,允许用户在同一物理控制台上访问多个独立的登录会话。每个虚拟控制台都运行着自己的终端会话,用户可以在它们之间切换,而无需重启计算机或使用额外的物理显示器。

以下是一些关于虚拟控制台的基本信息:

如何访问虚拟控制台

在大多数Linux发行版中,可以通过以下快捷键来切换到不同的虚拟控制台:

  • Ctrl + Alt + F1:切换到第一个虚拟控制台
  • Ctrl + Alt + F2:切换到第二个虚拟控制台
  • Ctrl + Alt + F3:切换到第三个虚拟控制台
  • Ctrl + Alt + F6:通常用于第六个虚拟控制台
  • Ctrl + Alt + F7:通常切换回图形界面(如果系统支持)

注意,虚拟控制台的数量和分配可能会根据不同的Linux发行版和系统配置有所不同。

虚拟控制台的特点

  • 独立性:每个虚拟控制台都是独立的,可以运行不同的应用程序,而不会影响到其他虚拟控制台。
  • 文本模式:虚拟控制台通常是文本模式的,这意味着它们不支持图形界面。
  • 系统管理:虚拟控制台常用于系统管理任务,例如,在图形界面出现问题时,可以切换到虚拟控制台进行故障排查。
  • 多用户:多个用户可以同时登录到不同的虚拟控制台,每个用户都有自己的会话。

与伪终端(PTY)的区别

虚拟控制台与伪终端(PTY)是不同的概念。伪终端是软件模拟的终端,通常用于远程登录会话(如SSH)或运行图形界面下的终端模拟器。伪终端的名称通常以pts/开头,例如pts/0

示例

假设您的Linux系统默认配置了6个虚拟控制台,那么:

  • Ctrl + Alt + F1 可能会带您到第一个虚拟控制台,您可以在这里登录。
  • Ctrl + Alt + F2 会带您到第二个虚拟控制台,这里也可以有一个独立的登录会话。
  • Ctrl + Alt + F7 通常用于切换回图形界面。


http://www.ppmy.cn/ops/136718.html

相关文章

SpringBoot 集成 html2Pdf

一、概述&#xff1a; 1. springboot如何生成pdf&#xff0c;接口可以预览可以下载 2. vue下载通过bold如何下载 3. 一些细节&#xff1a;页脚、页眉、水印、每一页得样式添加 二、直接上代码【主要是一个记录下次开发更快】 模板位置 1. 导入pom包 <dependency><g…

Java技术分享

剖析equals方法 1、对于Object来说&#xff0c;其equals()方法底层实现就是""&#xff0c;都是比较对象的引用是否相等&#xff0c;下为JDK源码。 Object c 1; Object d 1; boolean equals c.equals(d);public boolean equals(Object obj) {return (this obj);…

贪心算法(2)

目录 K次取反后最大化的数组和 题解&#xff1a; 代码&#xff1a; 按身高排序&#xff08;田忌赛马的预备&#xff09; 题解&#xff1a; 代码&#xff1a; 方法一&#xff1a; 方法二&#xff1a; 优势洗牌&#xff08;田忌赛马&#xff09; 题解&#xff1a; 代…

debian下查看端口号命令

在 Debian 操作系统下,你可以使用以下命令来查看正在使用的端口号: 使用 netstat​:你可以使用 ​​netstat​​ 命令结合 ​​grep​​ 来查看特定的端口或协议。需要先安装 ​​net-tools​​,因为在一些现代系统上它可能默认未安装。sudo apt update sudo apt install n…

Three.js 相机控制器Controls

在 3D 场景中&#xff0c;摄像机的控制尤为重要&#xff0c;因为它决定了用户如何观察和与场景互动。Three.js 提供了多种相机控制器&#xff0c;最常用的有 OrbitControls、TrackballControls、FlyControls 和 FirstPersonControls。OrbitControls 适合用于查看和检查 3D 模型…

对元素为 pair 的数组的各元素进行排序的方法

【知识点】 ● 按结构体某一字段对结构体数组进行排序https://blog.csdn.net/hnjzsyjyj/article/details/120184972 据此知识点&#xff0c;则可构建 pair 元素数组的自定义排序代码如下所示。 typedef pair<int,int> PII;int up(PII u,PII v) { //ascending by firstif…

小R的随机播放顺序

问题描述 小R有一个特殊的随机播放规则。他首先播放歌单中的第一首歌&#xff0c;播放后将其从歌单中移除。如果歌单中还有歌曲&#xff0c;则会将当前第一首歌移到最后一首。这个过程会一直重复&#xff0c;直到歌单中没有任何歌曲。 例如&#xff0c;给定歌单 [5, 3, 2, 1,…

rabbitmq结合springboot配置发送消息和消费消息

在Spring Boot中集成RabbitMQ可以非常方便地实现消息的发送和接收。下面将简要介绍如何配置Spring Boot应用以使用RabbitMQ进行消息的发送与消费。 1. 添加依赖 首先&#xff0c;在你的pom.xml文件中添加Spring Boot对RabbitMQ的支持&#xff1a; <dependency><gro…