学Linux的第八天

目录

管理进程

概念

程序、进程、线程

进程分类

查看进程

ps命令

unix  风格

bsd风格

GNU风格

top命令

格式

统计信息区

进程信息区:显示了每个进程的运行状态

kill命令

作用

格式


管理进程

概念

程序、进程、线程

程序: 二进制文件,文件存储在磁盘中,例如 /usr/bin/ 目录下
进程:进程是已启动的可执行程序的运行实例
进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程
线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单
位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行
执行不同的任务。
一个进程可以拥有多个线程,而一个线程同时只能被一个进程所拥有
线程不能单独执行,但是每一个线程都有程序的入口、执行序列以及程序出口,它必须组成进程才
能被执行

进程分类

查看进程

ps命令

作用: ps 显示某个时间点的程序运行情况
格式
参数
ps - 参数
unix  风格


-a                     :显示当前shell的进程,不是所有用户的进程
-u   用户名称   : 显示指定用户的shell进程
有效用户id,运行的用户id
没有-x   
-e                     : 系统中所有进程
-l                      :显示更详细的内容,长格式
                           
 -w      数字      :     显示行宽
-f                      :  更完整输出


bsd风格


x     :无字符终端进程
 a    :有字符终端进程
 u    :利用用户信息进行归类
f      : 显示进程的层级关系


GNU风格


ps   -o(指定)   %cpu,%mem,command      :用于查看进程状态的命令,它可以提供有关当前正在运行的进程的各种详细信息,-o 用于指定输出的格式,即决定要显示哪些关于进程的信息以及以何种顺序显示。
ps   ax   --sort    -%cpu   -o   %cpu,pid       :以 CPU 使用率和进程 ID 这两个字段的形式展示排序后的进程列表并按照 CPU 使用率进行降序排序

示例
[root@server ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 0 32343 32342 0 80 0 - 56088 do_wai pts/2 00:00:00 bash
4 R 0 33566 32343 0 80 0 - 56375 - pts/2 00:00:00 ps
说明:
F:代表这个程序标志(process flags),说明这个程序的权限。常见号码有:4表示此程序的权限为
root;1表示此子程序仅进行复制(fork)而没有实际执行(exec)
S:代表这个程序的状态(STAT),主要的状态有:
R(Running):该程序正在运作中;
S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒;
D:不可被唤醒的睡眠状态,通常可能是在等待I/O的情况;
T:停止状态(stop),可能是在工作控制(后台暂停)或traced状态;
Z(Zombie):僵尸状态,程序已经终止但却无法被移除至记忆体外。
+:位于后台的进程组
UID/PID/PPID:代表此程序被该UID所拥有/程序的PID号码/此程序的父进程PID号码。
C:代表CPU使用率,单位为百分比;
PRI/NI:Priority/Nice的缩写,代表此程序被CPU所执行的优先顺序,数值越小代表该程序越快被CPU执
行。
ADDR/SZ/WCHAN:都与内存有关,ADDR是kernel funcition,指出该程序在内存的哪个部分,如果是
running的程序,一般会显示-。SZ代表此程序用掉多少内存,WCHAN表示目前程序是否运作中,若为-表示正
在运行。
TTY:登入者的终端机位置,若为远程终端登入则使用动态终端界面(pts/n)。
TIME:使用掉的CPU时间,即此程序实际花费CPU运作的时间。
CMD:触发此进程的指令是什么。
# 查看所有用户执行的进程的详细信息
[root@server ~]# ps -le
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 80 0 - 44776 do_epo ? 00:00:01 systemd
1 S 0 2 0 0 80 0 - 0 - ? 00:00:00 kthreadd
1 I 0 3 2 0 60 -20 - 0 - ? 00:00:00 rcu_gp
# 查看当前用户的进程
[root@server ~]# ps -u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1280 2.2 0.2 237304 5408 tty1 Ss+ 15:54 0:00 -bash
root 1415 0.1 0.2 237172 5092 pts/0 Ss 15:55 0:00 -bash
root 1452 0.0 0.2 268484 4008 pts/0 R+ 15:55 0:00 ps -u
[root@localhost ~]# ps aux | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2164 648 ? Ss 08:47 0:00
init [5]
#############################
说明:
USER: 运行进程的用户
PID: 进程ID
%CPU: CPU占用率
%MEM: 内存占用率
VSZ: 占用虚拟内存
RSS: 占用实际内存 驻留内存
TTY: 进程运行的终端
STAT: 进程状态 man ps (/STATE)
R 运行
S 可中断睡眠 Sleep
D 不可中断睡眠
T 停止的进程
Z 僵尸进程
X 死掉的进程
s 进程的领导者,父进程
< <优先级较高的进程
top命令
格式
参数
N N优先级的进程
+ +表示是前台的进程组
l 以线程的方式运行
START: 进程的启动时间
TIME: 进程占用CPU的总时间
COMMAND: 进程文件,进程名
#############################
[root@server ~]# ps -le
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 80 0 - 44776 do_epo ? 00:00:01 systemd

# 自定义显示字段
[root@server ~]# ps axo user,pid,ppid,%mem,command
USER PID PPID %MEM COMMAND
root 1 0 0.7 /usr/lib/systemd/systemd --switched-root --system
root 2 0 0.0 [kthreadd]
root 3 2 0.0 [rcu_gp]
# 查看进程树
[root@server ~]# pstree
# 查看指定进程的PID
[root@server ~]# ps aux | grep sshd
[root@server ~]# cat /run/sshd.pid
# 查看指定进程的PID
[root@server ~]# pgrep -l sshd
[root@server ~]# pidof sshd
# 查看指定进程的PID
[root@server~]# pidof sshd

top命令

格式
top [-d 数字] | [-bnp]
-d:后面可以接秒数,就是整个进程界面更新的秒数,默认是5秒
-b:以批次的方式执行top,还有更多的参数可用。通常会搭配数据流重定向来将批处理的结果输出为文件。
-n:与-b搭配,进行几次top的输出结果
-i:不显示闲置或者僵死的进程信息
-c:显示进程的整个命令路径,而不是只显示命令名称
-s:使top命令在安全模式下运行,此时top的交互式指令被取消,避免潜在危险
-p:指定某些个PID来进行查看检测
[root@localhost ~]# top -d 1
[root@localhost ~]# top -d 1 -p id 查看指定进程的动态信息
top 的输出可以分为 统计信息区 进程信息区 两个部分,即前 5 行为统计信息区,后面为进程信息
区。
统计信息区

第一行为任务队列信息:top - 17:21:03 up 4:32, 5 users, load average: 0.19, 0.08,
0.06
17:21:03表示当前系统时间;
up 4:32表示系统已经启动4小时32分钟了;
5 users表示当前登录系统的用户数;
load average: 0.19, 0.08, 0.06表示系统1分钟、5分钟、15分钟前到现在的平均负载(如果是1
表示满负载)
第二行:Tasks: 483 total, 3 running, 480 sleeping, 0 stopped, 0 zombie
483 total进程的总数
3 running正在运行的进程数
480 sleeping处于休眠状态的进程数
0 stopped停止的进程数
0 zombie僵死的进程数
第三行:%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0
st
0.3 us表示用户进程占用CPU的百分比
0.7 sy系统进程占用CPU的百分比;
0.0 ni用户进程空间内改变过优先级的进程占用CPU的百分比
99.0 id空闲CPU占用的百分比
0.0 wa代表I/Owait表示等待输入、输出的进程占用CPU的百分比;
0.0 hi表示cpu服务于硬件中断所耗费的时间总额
0.0 si表示cpu服务于软件中断所耗费的时间总额;
0.0 st表示虚拟机被hypervisor偷去的cpu时间
另外,如果是多内核设备,可按下数字键“1”来切换成不同cpu的负载率。
第四行、第五行
MiB Mem : 1790.0 total, 1278.5 free, 240.5 used, 271.0 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1393.8 avail Mem
total系统的内存大小
free目前空余内存大小
used已经使用的内存大小
#############################
进程信息区:显示了每个进程的运行状态
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 179104 13540 8728 S 0.0 0.7 0:01.22 systemd
PID:进程的id
USER:进程所有者的用户名
PR:进程优先级
NI:nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位为KB
RES:进程使用的、未被换出的物理内存大小,单位KB
SHR:共享内存大小,单位KB
S:进程状态,D表示不可中断的睡眠状态,R表示运行状态,S表示睡眠状态,T表示跟踪/停止,Z表示僵
死进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程占用的物理内存百分比
TIME+:进程总计使用的CPU时间,单位为1/100秒
COMMAND:正在运行进程的命令名或者命令路径
可以在 RHEL9 中安装 epel-release 源后安装 htop ,是 top 的升级版

kill命令

作用

进程信号的控制工具
2,3,9,15,18,19,20--进程的信号

格式

kill    进程 id
killall 进程名    --可删除所有进程

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

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

相关文章

Xshell,Shell的相关介绍与Linux中的权限问题

目录 XShell的介绍 Shell的运行原理 Linux当中的权限问题 Linux权限的概念 Linux权限管理 文件访问者的分类&#xff08;人&#xff09; 文件类型和访问权限&#xff08;事物属性&#xff09; 文件权限值的表示方法 文件访问权限的相关设置方法 如何改变文件的访问权…

RS®SZM 倍频器

_XLT_ R&SSZM 倍频器 R&SSZM 系列倍频器在 50 GHz 至 170 GHz 的频率范围内具有简便的操作性和精确的输出电平。它们可用于多种应用&#xff0c;例如在汽车领域使用测距雷达&#xff0c;在天文学中使用精密望远镜&#xff0c;在雷达干涉测量中用于分析地球表面。 特…

Unity3D学习FPS游戏(11)敌人AI巡逻(NavMesh)

前言&#xff1a;前面两篇博客已经实现了简单的敌人&#xff0c;但是呢&#xff0c;这样很无趣。因为敌人只会站在原地被攻击&#xff0c;所以本篇我们将实现敌人AI巡逻&#xff0c;让敌人动起来。 敌人AI巡逻 场景丰富一下导航网格NavMesh构建导航网格导航网格优化玩家被当作…

去地面算法——depth_clustering算法调试(1)

1 源码下载 论文&#xff1a; 《2016-Fast Range Image-Based Segmentation of Sparse 3D Laser Scans for Online Operation》 《2017-Efficient Online Segmentation for Sparse 3D Laser Scans》 代码&#xff1a;git链接 2 问题记录 2.1 无法找到qt问题 问题截图&…

NUXT3学习日记一(在我git中拉取代码、文件讲解)

Nuxt 3 是一个基于 Vue 3 的现代框架&#xff0c;用于构建服务器端渲染&#xff08;SSR&#xff09;和静态生成的应用程序。它提供了一种简化的方式来创建高性能的 Vue 应用&#xff0c;具有许多强大的功能和优点。以下是 Nuxt 3 的一些主要应用和优点&#xff1a; 一、应用场…

vue3项目中内嵌vuepress工程两种实现方式

目录 一、示例二、创建vuepress工程三、配置vue项目的打包命令四、 通过iframe嵌套实现过程五、 将vue项目打包&#xff0c;启本地服务运行index.html 一、示例 vue项目&#xff0c;点击用户手册按钮&#xff0c;通过a标签跳转到vuepress框架搭建的页面。点击后者通过路由跳转…

简述 synchronized 和 java.util.concurrent.locks.Lock 的异同?

大家好&#xff0c;我是锋哥。今天分享关于【简述 synchronized 和 java.util.concurrent.locks.Lock 的异同&#xff1f;】面试题。希望对大家有帮助&#xff1b; 简述 synchronized 和 java.util.concurrent.locks.Lock 的异同&#xff1f; 在Java编程中&#xff0c;synchro…

centos7上安装mysql

1.现查看虚拟机上有没有wget包&#xff0c;如果没有的话进行安装 yum install -y wget 2.进入MySQL :: Download MySQL Yum Repository下载mysql安装源 找到与linux相应的版本&#xff0c;复制地址&#xff0c;如果找不到地址&#xff0c;可以复制如下 3.下载mysql官方yum源 …

操作系统离散存储练习题

1. (简答题)分页存储管理系统具有快表&#xff0c;内存访问时间为2ns&#xff0c;检索快表时间为0.5ns&#xff0c;快表命中率为80%&#xff0c;求有效访问时间 -分析&#xff1a;首先访问缓存&#xff08;快表&#xff09;&#xff0c;如果没有找到访问内存&#xff08;页表&…

PHP搭建开发环境(Windows系统)

要搭建一个完整的PHP动态网站&#xff0c;离不开操作系统、Web服务器、数据库、和PHP软件。 虽然有不错方便的方式&#xff0c;比如使用phpstudio等等等等许多面板都是非常快速不错的方式&#xff0c;但是这里是教会大家如何配置而不只是依赖别人整合好的面板软件&#xff0c;…

开源 2 + 1 链动模式、AI 智能名片、S2B2C 商城小程序在用户留存与品牌发展中的应用研究

摘要&#xff1a;本文以企业和个人品牌发展中至关重要的用户留存问题为切入点&#xff0c;结合管理大师彼得德鲁克对于企业兴旺发达的观点&#xff0c;阐述了用户留存对品牌营收的关键意义。在此基础上&#xff0c;深入分析开源 2 1 链动模式、AI 智能名片、S2B2C 商城小程序在…

SpringBoot后端解决跨域问题

1.全局方式 新建一个conifg配置类&#xff0c;内容如下&#xff1a; Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**")//是否发送Cookie.allowCrede…

「数据要素」行业简报|2024.11.上刊

纵观数据要素行业动态&#xff0c;洞察行业风向&#xff0c;把握行业脉搏&#xff01; 一、政策发布 1、《山东省公共数据资源登记管理工作规范(试行)》公开征求意见 11月7日&#xff0c;为认真贯彻落实《中共中央办公厅 国务院办公厅关于加快公共数据资源开发利用的意见》《…

什么是RAG? LangChain的RAG实践!

1. 什么是RAG RAG的概念最先在2020年由Facebook的研究人员在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出来。在这篇论文中他们提出了两种记忆类型&#xff1a; 基于预训练模型&#xff08;当时LLM的概念不像现在这么如日中天&#xff0…

Vite初始化Vue3+Typescrpt项目

初始化项目 安装 Vite 首先&#xff0c;确保你的 Node.js 版本 > 12.0.0。然后在命令行中运行以下命令来创建一个 Vite Vue 3 TypeScript 的项目模板&#xff1a; npm init vitelatest进入项目目录 创建完成后&#xff0c;进入项目目录&#xff1a; cd vue3-demo启动…

nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。

在项目中会碰见需要在nginx代理多个项目&#xff0c;如果在加上uniapp开发的H5端的项目&#xff0c;你还要在nginx中区分PC端和手机H5端&#xff0c;这就会让人很头大&#xff01;网上大部分的资料都是采用在nginx的conf配置文件中添加区分pc和手机端的变量例如&#xff1a;set…

软件测试项目实战

软件测试是使用人工或者自动的手段来运行或者测定某个软件系统的过程&#xff0c;其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 在软件投入使用前&#xff0c;要经过一系列的严格测试&#xff0c;才能保证交付质量。 一、引言 1.编写目的 本文档…

2024开发者浏览器必备扩展,不允许还有人不知道~

在开发过程中&#xff0c;优秀的扩展工具能够极大提升我们的工作效率&#xff0c;简化工作流程&#xff0c;并使得在浏览器中的开发和调试变得更加便捷。 根据市场占比&#xff0c;Chrome、Safari、Edge、Firefox、Opera 是前五大浏览器&#xff0c;其中Chrome浏览器占据了领先…

分享一个傻瓜式一键启动的加速器

主要发现开通一个号能电脑手机互通&#xff0c;原来电脑手机各一个加速器钱包在滴血。。。一个月也很便宜差不多二十多 链接放这了&#xff0c;有需要自提&#xff1a;首页-小熊加速器http://xxjsq.co/ytfa

TDesign了解及使用

文章目录 1、概述2、快速开始2.1使用 npm 安装2.2通过 浏览器引入 安装2.3、使用 3、简单案例3.1 路由创建3.2、 页面创建3.3、 Table组件3.4、序号展示3.5、 图片展示及预览3.6、 性别字段处理 1、概述 TDesign 是腾讯推出的设计系统&#xff0c;旨在提供一致的设计语言和视觉…