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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/478190.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spiffo】环境配置:VScode+Windows开发环境

摘要&#xff1a; 在Linux下直接开发有时候不习惯快捷键和操作逻辑&#xff0c;用Windows的话其插件和工具都更齐全、方便&#xff0c;所以配置一个Windows的开发环境能一定程度提升效率。 思路&#xff1a; 自己本地网络内远程连接自己的虚拟机&#xff08;假定用的是虚拟机…

[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案

问题log /tmp/ccByifPx.o: In function main: read.c:(.text0x1a): undefined reference to shm_open read.c:(.text0xd9): undefined reference to shm_unlink collect2: error: ld returned 1 exit status 程序代码 #include <stdio.h> #include <stdlib.h> #…

Java基于Spring Boot框架的房屋租赁系统,附源码

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

librdns一个开源DNS解析库

原文地址&#xff1a;librdns一个开源DNS解析库 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 介绍 librdns是一个开源的异步多功能插件式的解析器&#xff0c;用于DNS解析。 源代码地址&#xff1a;GitHub - vstakhov/librdns: Asynchrono…

CTFHUB--yeeclass-web

复现平台CTFHUB靶机为一个完整类论坛网页&#xff0c;题目给了服务端完整代码 代码审计 /src/submit.php Line56-63: 可以看到提交数据存入的时候将$_SESSION["username"]."_"作为前缀&#xff0c;生成了一个uniqid。uniqid的生成方式即{sec:08x}{usec:0…

DataWhale—PumpkinBook(TASK05决策树)

课程开源地址及相关视频链接&#xff1a;&#xff08;当然这里也希望大家支持一下正版西瓜书和南瓜书图书&#xff0c;支持文睿、秦州等等致力于开源生态建设的大佬✿✿ヽ(▽)ノ✿&#xff09; Datawhale-学用 AI,从此开始 【吃瓜教程】《机器学习公式详解》&#xff08;南瓜…

计算机网络socket编程(2)_UDP网络编程实现网络字典

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 计算机网络socket编程(2)_UDP网络编程实现网络字典 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记&#xff0c;欢迎大家在评论区交流讨…

51c多模态~合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/12409223 #TextHarmony 字节联合华师提出统一的多模态文字理解与生成大模型 字节跳动与华东师范大学联合提出的TextHarmony模型&#xff0c;这是一个统一的多模态文字理解与生成大模型&#xff0c;它通过创新的Slide-LoRA…

el-table vue3统计计算数字

固定合计在最下列 父组件 <template><el-tablev-loading"loading"tooltip-effect"light":data"list"style"width: 100%":max-height"maxHeight"element-loading-text"拼命加载中...":header-cell-styl…

【大数据学习 | Spark-Core】详解分区个数

RDD默认带有分区的&#xff0c;那么创建完毕rdd以后他的分区数量是多少&#xff1f; 从hdfs读取文件的方式是最正规的方式&#xff0c;我们通过计算原理可以推出blk的个数和分区数量是一致的&#xff0c;本地化计算。 我们可以发现数据的读取使用的是textInputFormat&#xff…

Mysql的加锁情况详解

最近在复习mysql的知识点&#xff0c;像索引、优化、主从复制这些很容易就激活了脑海里尘封的知识&#xff0c;但是在mysql锁的这一块真的是忘的一干二净&#xff0c;一点映像都没有&#xff0c;感觉也有点太难理解了&#xff0c;但是还是想把这块给啃下来&#xff0c;于是想通…

Java基础-Java多线程机制

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 一、引言 二、多线程的基本概念 1. 线程与进程 2. 多线程与并发 3. 多线程的优势 三、Java多线程的实…

【LeetCode面试150】——202快乐数

博客昵称&#xff1a;沈小农学编程 作者简介&#xff1a;一名在读硕士&#xff0c;定期更新相关算法面试题&#xff0c;欢迎关注小弟&#xff01; PS&#xff1a;哈喽&#xff01;各位CSDN的uu们&#xff0c;我是你的小弟沈小农&#xff0c;希望我的文章能帮助到你。欢迎大家在…

详细教程-Linux上安装单机版的Hadoop

1、上传Hadoop安装包至linux并解压 tar -zxvf hadoop-2.6.0-cdh5.15.2.tar.gz 安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1u59OLTJctKmm9YVWr_F-Cg 提取码&#xff1a;0pfj 2、配置免密码登录 生成秘钥&#xff1a; ssh-keygen -t rsa -P 将秘钥写入认…

Python 获取微博用户信息及作品(完整版)

在当今的社交媒体时代&#xff0c;微博作为一个热门的社交平台&#xff0c;蕴含着海量的用户信息和丰富多样的内容。今天&#xff0c;我将带大家深入了解一段 Python 代码&#xff0c;它能够帮助我们获取微博用户的基本信息以及下载其微博中的相关素材&#xff0c;比如图片等。…

07-SpringCloud-Gateway新一代网关

一、概述 1、Gateway介绍 官网&#xff1a;https://spring.io/projects/spring-cloud-gateway Spring Cloud Gateway组件的核心是一系列的过滤器&#xff0c;通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。 Spring Cloud Gateway是加在整个微服务最前沿的防…

MyBatis基本使用

一、向SQL语句传参: 1.MyBatis日志输出配置: mybatis配置文件设计标签和顶层结构如下: 可以在mybatis的配置文件使用settings标签设置&#xff0c;输出运过程SQL日志,通过查看日志&#xff0c;可以判定#{}和${}的输出效果 settings设置项: logImpl指定 MyBatis 所用日志的具…

实验二 系统响应及系统稳定性

实验目的 &#xff08;1&#xff09;学会运用Matlab 求解离散时间系统的零状态响应&#xff1b; &#xff08;2&#xff09;学会运用Matlab 求解离散时间系统的单位取样响应&#xff1b; &#xff08;3&#xff09;学会运用Matlab 求解离散时间系统的卷积和。 实验原理及实…

秋招面试基础总结,Java八股文基础(串联知识),四万字大全

目录 值传递和引用传递 静态变量和静态代码块的执行顺序 Java​​​​​​​集合的框架&#xff0c;Set,HashSet,LinkedHashSet这三个底层是什么 多线程篇 Java实现多线程的方式 假设一个线程池&#xff0c;核心线程数是2&#xff0c;最大线程数是3&#xff0c;阻塞队列是4…

C# 数据结构之【图】C#图

1. 图的概念 图是一种重要的数据结构&#xff0c;用于表示节点&#xff08;顶点&#xff09;之间的关系。图由一组顶点和连接这些顶点的边组成。图可以是有向的&#xff08;边有方向&#xff09;或无向的&#xff08;边没有方向&#xff09;&#xff0c;可以是加权的&#xff…