Linux之进程管理

news2024/11/27 8:41:16

什么是进程

在linux中每个执行的程序都称为一个进程,每个进程都分配一个ID号(pid进程号)。每个进程都可能以两种方式存在,即前台和后天。前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但屏幕上无法看到的进程,通常使用后台的方式执行。
一帮系统的服务都是以后台进程的方式存在的,而且都会常驻在系统中,直到关机才结束。
image.png


ps 显示系统执行的进程

image.png

ps -aux

System v显示风格
image.png

  • USER:用户名称
  • PID:进程号
  • %CPU:进程占用CPU的百分比
  • %MEN:进程占用物理内存的百分比
  • VSZ:进程占用的虚拟内存大小(KB)
  • RSS:进程占用的物理内存大小(KB)
  • TTY:终端名称,缩写
  • STAT:进程状态,其中S-表示睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-表示正在运行,D-表示短期等待,T-被跟踪或者被停止
  • STARTED:进程的启动时间
  • TIME:CPU时间,即进程使用CPU 的总时间
  • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

ps指令常配合grep使用,如查看sshd服务

image.png


ps -ef

以全格式显示当前的所有进程,BSD显示风格
image.png

  • UID:用户ID
  • PID:进程ID
  • PPID:父进程ID
  • C:CPU用于计算执行优先级的因子,数值越大,表明进程是CPU密集型运算,执行优先级会越低;数值越小,表示进程是I/O密集型运算,执行优先级会越高。
  • STIME:进程启动的时间
  • TTY:完整的终端名称
  • TIME:CPU时间
  • CMD:启动进程所用的命令和参数

这两个命令都可以查看进程列表,不同点如下:

  1. 风格不同。ps -ef是System v显示风格,而ps aux是BSD显示风格。
  2. ps -ef和ps aux显示内容不一样。
  3. COMMADN列如果过长,aux会截断显示,而ef不会。

终止进程kill和killall

若是某个进程执行一般需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

kill [选项] 进程号(通过进程号杀死进程)
killall 进程名称 (通过进程名称杀死进程,支持通配符,这在系统负载过大而变得很慢时很有用)

常用选项:-9,表示强迫进程立即停止
image.png


查看进程树pstree

pstree [选项]

常用选项:

  • -p:显示进程PID
  • -u:显示进程所属用户

image.png


服务(service)管理

service管理指令

服务(service)的本质就是进程,运行在后台,通常都会监听某个端口,等待其他程序的请求,比如(mysqld,sshd,firewall),因此我们又称之为守护进程。

service 服务名 [start | stop | restart | reload | status]

service指令管理的服务可以在/et/init.d查看
image.png

查看服务名

使用setup查看【系统服务】就可以看到全部。
image.png
image.png


服务的运行级别

linux系统有7种运行级别,常用的是3和5。centos7以后对运行级别简化成3和5.

  • 运行级别3:完全的多用户状态,命令行模式
  • 运行级别5:也是多用户,登入后进入图形化模式
chkconfig指令

通过chkconfig命令可以给服务的各个运行级别设置自启动/关闭。
chkconfig指令管理的服务在/etc/init.d查看
chkconfig基本语法

chkconfig  --list [ | grep xxx]
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off

image.png

chkconfig重新设置服务后自启动/关闭,需要重启机器reboot才能生效

systemctl管理服务

在centos7以后,很多服务不再使用service,而是使用systemctl

systemctl [start | stop | restart | status] 服务名

systemctl指令管理的服务在/usr/lib/systemd/system查看


systemctl设置服务的自启动状态
systemctl list-unit-files [ | grep 服务名] (查看服务开机启动状态)
systemctl enable 服务名 (设置服务开机启动)
systemctl disable 服务名 (关闭服务开机启动)
systemctl is-enabled 服务名 (查询某个服务是否是自启动)

查看防火墙是否开机自启动,如果不是就开启


打开/关闭指定端口

在生产环境下往往需要打开防火墙,但是如果把防火墙打开,外部请求数据包就不能跟服务器监听端口通讯了。需要我们打开指定端口,比如8080,3306,22.
image.png
firewall指令

  1. 打开端口:firewall-cmd --permanent --add-port=端口号/协议
  2. 关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
  3. 重新载入,才能生效:firewall-cmd --reload
  4. 查询端口是否开放:firewall-cmd --query-port=端口/协议image.png

动态监控进程-top

top和ps命令类似,都是用来显示正在执行的进程。top和ps最大的不同在于top在执行一段时间可以更新正在运行的进程。

top [选项]

选项说明:

  • -d 秒数:指定top命令每隔几秒更新,默认3s
  • -i:top不显示闲置或者僵死进程
  • -p:通过指定监控进程ID来仅仅监控某个进程状态

image.png
交互操作说明:
image.png
补充:

  • 监控特定用户:输入top按回车,再输入u,最后输入用户名即可
  • 终止指定进程:输入top按回车,再输入k,最后输入进程号

监控网络状态

查看系统网络情况-netstat

netstat [选项]

选项说明:

  • -an:按一定顺序排列输出
  • -p:显示哪个进程在调用

image.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hugo-theme-kiwi V0.0.2 博客主题上新了时间轴

至此佳节,我在此给正在屏幕前浏览本文的您和您的家人,恭祝元旦快乐,虽然,这声祝福是晚了,但却不妨碍我我由内心深处对您和您的家人的诚挚祝福! 新的一年,从这一天逐渐步入我们的生活&#xff0c…

web等保评测需要实机查看的操作系统、服务器、数据库和应用部分

“等保测评”全称是信息安全等级保护测评。是经公安部认证的具有资质的测评机构,依据国家信息安全等级保护规范规定,受有关单位委托,按照有关管理规范和技术标准,对信息系统安全等级保护状况进行检测评估的活动。 本文陆续将遇到的…

『番外篇九』SwiftUI 实战:打造一款“五脏俱全”的网络图片显示 App(上)

概览 俗话说得好:“读书破万卷,下笔如有神”。不过如果把这句话放到编程的学习上可就不那么贴切了。 要想熟练掌握一门编程语言,光看书是绝对不够的。我们还需尽可能的多撸码、早撸码,撸到无路可退、海枯石烂才有可能一窥门径。 在本篇和续篇博文中,我们将和小伙伴们一起…

手把手教你绘制和解读实用R列线图(Nomogram):从入门到精通

一、引言 列线图(Nomogram)是一种常用的数据可视化工具,它能够直观地展示多个变量之间的关系,并帮助我们理解和解释复杂的数据模式。通过绘制列线图,我们可以将各种变量的影响和相互关联转化为图形化的表示&#xff0c…

2001-2021年各省高速公路里程数据

2001-2021年全国及各省高速公路里程数据 1、时间:2001-2021年 2、指标:高速公路里程 3、范围:全国及30个省市 (不含西藏) 4、来源:各省NJ、省TJGB、第三产业TJNJ (无缺失) 5、指…

鸿蒙项目方舟框架(ArkUI)之线性布局容器Stack组件

鸿蒙项目方舟框架(ArkUI)之线性布局容器Stack组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Stack组件 堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件。 …

docker Mysql-udf-http

1.Mysql-udf-http镜像已上传到dockerhub中 docker pull heidaodageshiwo/mysql-udf-http:v1 2.启动镜像(默认密码root1234) docker run -tid -p 3306:3306 --namemysql-udf-http --privilegedtrue heidaodageshiwo/mysql-udf-http:v1 3.命令 [rootlocalhost ~]# docker im…

Navisworks各版本安装指南

Navisworks 下载链接 https://pan.baidu.com/s/1DGD9TbSa6Xjd-HoySd5AYg?pwd0531 1.鼠标右击【Navisworks2024(64bit)】压缩包(win11及以上系统需先点击“显示更多选项”)【解压到 Navisworks2024(64bit)】。 2.打开解压后的文件夹,双击打…

大甩卖-(CWRU)轴承故障诊数据集和代码全家桶

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Python轴承故障诊断 (一)短时傅里叶变换STFT Python轴承故障诊断 (二)连续小波变换CWT_pyts 小波变换 故障-CSDN博客 Python轴承故障诊断 (三)经验模态分解EMD_轴承诊断 pytorch-CSDN博客 Pytorch…

大数据规模存储的几个核心问题

文章目录 三个关键问题RAID(独立磁盘冗余阵列)RAID是如何解决关于存储的三个关键问题?水平伸缩 大规模数据存储都需要解决几个核心问题,这些问题都是什么呢? 三个关键问题 1.数据存储容量的问题 既然大数据要解决的…

ROS TF坐标变换 - TF树

目录 一、TF树介绍二、TF2与TF三、构建TF树四、rviz查看TF坐标关系 一、TF树介绍 在机器人系统中,存在运动学模型和动力学模型。对于刚体机器人,动力学模型基于刚体动力学,代表机器人系统在运动过程中力/力矩与其运动状态的变化关系。而运动…

(五)分文件编程

文章目录 为什么要引入分文件编程.C文件怎么添加.H文件怎么书写以及如何进行链接.H书写格式:“有头有尾标识符”例如(timer.h) .H链接链接到头文件所在路径的文件夹路径即可 提供一个分文件编程的一种代码最后附上视频演示 为什么要引入分文件编程 C程序…

Linux基础知识学习2

tree命令的使用 可以看到dir2目录下的这些文件,要想显示dir2的具体结构,可用tree命令 mv命令 它可以实现两个功能 1.将文件移动到另一个目录中 2.对某一个文件进行重命名 1.将文件移动到另一个目录中 这里将dir1中的2.txt移动到他的子目录dir3中 执行…

【linux】cat的基本使用

cat是一个常用的命令,用来显示文本的内容,合并和创建文本文件 类似命令还有显示文件开头的内容: 【linux】head的用法 输出文件开头的内容-CSDN博客 显示文件末尾的内容: 【linux】tail的基本使用-CSDN博客 当我们想到了想要…

JVM工作原理与实战(三):字节码文件的组成

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、基础信息 1.Magic魔数 2.主副版本号 3.其他信息 二、常量池 1.案例解析 三、方法 1.方法介绍 2.案例解析 四、字段 五、属性 总结 前言 JVM作为Java程序的运行环境&…

字母简化(UPC练习)

题目描述 给出一串全部为小写英文字母的字符串,要求把这串字母简化。简化规则是:统计连续出现的字母数,输出时先输出个数,再输出字母。比如:aaabbbaa,则简化为3a3b2a;而zzzzeeeeea,…

堆的应用:堆排序和TOP-K问题

上次才讲完堆的相关问题:二叉树顺序结构与堆的概念及性质(c语言实现堆 那今天就接着来进行堆的主要两方面的应用:堆排序和TOP-K问题 文章目录 1.堆排序1.1概念、思路及代码1.2改良代码(最初建立大堆用AdjustDow) 2. TO…

个人简历范本(精选5篇)

HR浏览一份简历也就25秒左右,如果你连「好简历」都没有,怎么能找到好工作呢? 如果你不懂得如何在简历上展示自己,或者觉得怎么改简历都不出彩,那请你一定仔细读完。 个人求职简历第 1 篇 男 22 本科 AI简历 市场营…

听GPT 讲Rust源代码--library/alloc(2)

File: rust/library/alloc/src/vec/mod.rs 在Rust源代码中,rust/library/alloc/src/vec/mod.rs这个文件是Rust标准库中的Vec类型的实现文件。Vec是一个动态大小的数组类型,在内存中以连续的方式存储其元素。 具体来说,mod.rs文件中定义了以下…

基于RetinaFace+Jetson Nano的智能门锁系统——第一篇(烧录系统)

文章目录 设备1.首先在PC端安装VMware虚拟机和Ubuntu182.安装VMware Tools3.安装SDK Manager 设备 Jetson NanoMicro-USB - USB-A电源线HDMI线屏幕PC一台 1.首先在PC端安装VMware虚拟机和Ubuntu18 VMware下载地址:https://www.vmware.com/cn/products/workstatio…