当前位置: 首页 > news >正文

Linux---ps命令

​​​​​​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 通常用于切换回图形界面。

相关文章:

Linux---ps命令

​​​​​​Linux ps 命令 | 菜鸟教程 (runoob.com) process status 用于显示进程的状态 USER: 用户名&#xff0c;运行此进程的用户名。PID: 进程ID&#xff08;Process ID&#xff09;&#xff0c;每个进程的唯一标识号%CPU: 进程当前使用的CPU百分比%MEM: 进程当前使用的…...

解决k8s拉取私有镜像401 Unauthorized 问题

拉取镜像时未指定账户和密码通常是因为需要访问的镜像仓库启用了认证&#xff0c;但 Kubernetes 默认配置中未提供访问凭据。要解决此问题&#xff0c;可以按照以下步骤配置镜像仓库的认证信息&#xff1a; 1. 创建 Kubernetes Secret 为镜像仓库配置访问凭据&#xff0c;使用…...

Ruby 模块(Module)

Ruby 模块&#xff08;Module&#xff09; 概述 Ruby 是一种动态、开放源代码的编程语言&#xff0c;以其简洁明了的语法和强大的功能而闻名。在 Ruby 中&#xff0c;模块&#xff08;Module&#xff09;是一个重要的概念&#xff0c;它用于封装一组相关的方法和常量。模块提…...

HAL库的简单介绍以及环境搭建

目录 引言 一、HAL库的基本介绍 二、HAL库开发环境搭建 1、安装JAVA运行环境 2、安装STM32CubeMX 3、在线下载芯片支持包 引言 前面&#xff0c;我们学习了STM32基于寄存器的开发方式&#xff0c;能够更接近底层&#xff0c;但是随着我们学习的越来越深、代码越来与复杂…...

如何在 PyCharm 中配置 HTTP 代理以确保网络连接的顺畅性

如何在 PyCharm 中配置 HTTP 代理以确保网络连接的顺畅性 在配置 PyCharm 的 HTTP 代理以确保网络连接的顺畅性时&#xff0c;需按照一定的步骤进行设置&#xff0c;这不仅有助于确保 PyCharm 能够顺利访问互联网资源&#xff0c;还能保证插件和工具的正常更新与同步。以下是详…...

PHP 8.4 重磅发布了

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…...

LVM缩容

当前环境 rootjmk:~/shell# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS nvme0n1 259:0 0 953.9G 0 disk |-nvme0n1p1 259:1 0 512M 0 part /boot/efi |-nvme0n1p2 259:2 0 488M 0 part /boot -nvme0n1p3 …...

Next.js 独立开发教程(三):CSS 样式的完整指南

系列文章目录 Next.js 开发教程(一)&#xff1a;入门指南-CSDN博客 Next.js 开发教程&#xff08;二&#xff09;&#xff1a;从零构建仪表盘应用-CSDN博客 有兴趣的可以蹲个后续&#xff0c;我会陆续发布一系列的文章。 目录 系列文章目录 1. 样式在 Next.js 中的基本支持…...

React (三)

文章目录 项目地址十二、性能优化12.1 使用useMemo避免不必要的计算12.2 使用memo缓存组件,防止过度渲染12.3 useCallBack缓存函数12.4 useCallBack里访问之前的状态(没懂)十三、Styled-Components13.1 安装13.2给普通html元素添加样式13.3 继承和覆盖样式13.4 给react组件添…...

Python数据结构之链表

一、链表 1、目的 解决顺序表存储数据有上限&#xff0c;并且插入和删除操作效率低的问题。 2、概念 链表&#xff1a;链式存储的线性表&#xff0c;使用随机的物理内存存储逻辑上连续的数据。 链表的组成&#xff1a;由一个个结点组成 结点&#xff1a;由数据域和链接域组…...

“LLM是否是泡沫”

目录 “LLM是否是泡沫” 培养自己鉴别论文价值的能力、复现开源项目的能力、debug 代码的能力 llm 是生产力工具 多去找实习&#xff0c;读再多的论文&#xff0c;刷再多的技术文章&#xff0c;也不如一次 debug 多机通讯报错带来的认知深刻 一、LLM领域的发展与挑战 二、…...

基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…...

算法(Algorithm)

算法&#xff08;Algorithm&#xff09; 是指解决问题或完成特定任务的一系列明确指令的集合。它是按照一定规则定义的一种计算过程&#xff0c;用于将输入转化为输出&#xff0c;能够被计算机或人类有效执行。 算法的核心特点 有穷性 算法必须在有限步骤内完成&#xff0c;不能…...

C语言中const char *字符进行切割实现

将127.0.0.1以“”“.”来进行切割&#xff0c;实现如下&#xff1a; const char * ip "127.0.0.1";char *test new char[100];strcpy(test, ip);const char *split ".";char *final;final strtok(test, split);while (final){printf("%s\n"…...

【UE5】在材质中计算模型在屏幕上的比例

ViewProperty节点有很多有意思的变量 例如用 ViewProperty 的 tan ⁡ ( FOV / 2 ) \tan(\text{FOV} / 2) tan(FOV/2) 输出&#xff0c;用它计算模型占屏幕的比例。 &#xff08;常用于for运算的次数优化&#xff0c;也可以用于各种美术效果&#xff09; ScaleOnScreen Obje…...

前端速通(HTML)

1. HTML HTML基础&#xff1a; 什么是HTML&#xff1f; 超文本&#xff1a; "超文本"是指通过链接连接不同网页或资源的能力。HTML支持通过<a>标签创建超链接&#xff0c;方便用户从一个页面跳转到另一个页面。 标记语言&#xff1a; HTML使用一组预定义的标签…...

订单日记为“惠采科技”提供全方位的进销存管理支持

感谢温州惠采科技有限责任公司选择使用订单日记&#xff01; 温州惠采科技有限责任公司&#xff0c;成立于2024年&#xff0c;位于浙江省温州市&#xff0c;是一家以从事销售电气辅材为主的企业。 在业务不断壮大的过程中&#xff0c;想使用一种既能提升运营效率又能节省成本…...

Linux:文件管理(一)

目录 一、文件基础认识 二、C语言操作文件的接口 1.> 和 >> 2.理解“当前路径” 三、相关系统调用 1.open 2.文件描述符 3.一切皆文件 4.再次理解重定向 一、文件基础认识 文件 内容 属性。换句话说&#xff0c;如果在电脑上新建了一个空白文档&#xff0…...

鸿蒙多线程开发——线程间数据通信对象03(sendable)

1、简 介 在传统JS引擎上&#xff0c;对象的并发通信开销的优化方式只有一种&#xff0c;就是把实现下沉到Native侧&#xff0c;通过Transferable对象的转移或共享方式降低并发通信开销。而开发者仍然还有大量对象并发通信的诉求&#xff0c;这个问题在业界的JS引擎实现上并没…...

linux从0到1——shell编程7

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...