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

【Linux】Linux入门实操——进程管理(重点)

1. 概述

  1. 在 LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号(pid,进程号)。=>windows => linux
  2. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  3. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。

 

2. 显示系统正在运行的进程

ps   // 查看当前系统正在运行的进程,以及运行状态

ps  -a:     显示当前终端的所有进程信息
ps  -u:     以用户的格式显示进程信息
ps   -x:    显示后台进程运行的参数 

ps -aux  |  grep sshd,比如我看看有没有sshd服务 

 

参数含义:

  1. System   V   展示风格
  2. USER:          用户名称
  3. PID:              进程号
  4. %CPU:         进程占用CPU 的百分比
  5. %MEM:        进程占用物理内存的百分比
  6. VSZ:             进程占用的虚拟内存大小(单位:KB)
  7. RSS:             进程占用的物理内存大小(单位:KB)
  8. TT:                终端名称,缩写
  9. STAT:            进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R- 正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
  10. STARTED:      进程的启动时间
  11. TIME:            CPU时间,即进程使用CPU 的总时间
  12. COMMAND:         启动进程所用的命令和参数,如果过长会被截断显示

案例:

要求:  以全格式显示当前所有的进程,查看进程的父进程。查看sshd的父进程信息。
ps -ef   是以全格式显示当前所有的进程
-e        显示所有进程。-f全格式
ps  -ef | grep sshd
是BSD风格
UID:      用户ID
PID:      进程 ID
PPID:   父进程 ID
C:    CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高。

STIME:   进程启动的时间
TTY:       完整的终端名称
TIME:     CPU时间
CMD:     启动进程所用的命令和参数

3. 终止进程kill 和 killall

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

3.1 语法

kill   [选项]   进程号         // 通过进程号杀死/终止进程
killall   进程名称         //通过进程名称杀死进程,也支持通配符,在系统因负载过大变得很慢时有用


-9:  表示强迫进程立即停止

3.2 案例

案例1:  踢掉某个非法登录用户,把root账户踢出去
kill 进程号,比如kill 8306 


案例 2: 终止远程登录服务sshd,下次不能连接,在适当时候再次重启sshd服务
kill sshd 对应的进程号;    /bin/systemctl start sshd.service
案例 3: 终止多个gedit,演示killall gedit
案例4: 强制杀掉一个终端,指令kill-9 bash对应的进程号

4. 查看进程树pstree

pstree  [选项]


选项

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

 

5. 服务管理 

1. 概述

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld , sshd 防火墙等),因此我们又称服务为守护进程,是Linux中非常重要的知识点。

  • service 服务名  [start  | stop | restart | reload | status]
  • 在CentOS7.0后很多服务不再使用service ,而是systemctl
  • service指令管理的服务在/etc/initd查看 

2. 查看服务名

方式1:  使用 setup -----> 系统服务  就可以看到全部。

方式2:   /etc/init.d看到service指令管理的服务
ls -l  /etc/init.d

3. 服务运行级别(runlevel)

Linux 系统有7种运行级别(runlevel): 常用的是级别 3 和 5

  • 运行级别0: 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1: 单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2: 多用户状态(没有NFS),不支持网络
  • 运行级别3: 完全的多用户状态(有NFS),无界面,登陆后进入控制台命令行模式
  • 运行级别4: 系统未使用,保留
  • 运行级别5: X11控制台,登陆后进入图形GUI模式
  • 运行级别6: 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

开机流程顺序:

4. chkconfig指令

通过chkconfig命令可以给服务的各个运行级别设置自启动/关闭。chkconfig指令管理的服务在etc/init.d 查看。
注意: Centos7.0后,很多服务使用systemctl管理

chkconfig语法

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

chkconfig 重新设置服务后自启动或关闭,需要重启,使用指令 reboot 生效。  

案例:

对 network 服务进行各种操作,把network在3运行级别,关闭自启动
chkconfig --level 3 network off    // 把network 在3运行级别关闭
chkconfig --level 3 network on   // 把network 在3运行级别开启

5. systemctl管理指令

systemctl  [start | stop | restart | status]  服务名
systemctl 指令管理的服务在  /usr/lib/systemd/system  查看

systemctl 设置服务的自启动状态

systemctl list-unit-files [ | grep  服务名 ]   // 查看服务开机启动状态,grep可以进行过滤
systemctl enable   服务名        //  设置服务开机启动
systemctl disable   服务名       //  关闭服务开机启动
systemctl is-enabled    服务名    //  查询某个服务是否是自启动的

 

案例 

查看当前防火墙的状况,关闭防火墙和重启防火墙。

systemctl status firewalld;

systemctl stop firewalld;

systemctl start firewalld

关闭或者启用防火墙后,立即生效。[ telnet  IP  端口  即可]
这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
如果希望设置某个服务自启动或关闭永久生效,要使用

systemctl  [enable | disable]  服务名

6. 打开或关闭指定端口

在正式的生产环境中,往往需要将防火墙打开,但问题来了,如果我们把防火墙打开,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口。比如80、22、8080等,这个又怎么做呢?

firewall 指令 

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

案例

  1. 启用防火墙,测试111端口是否能 telnet,不行
  2. 开放 111端口。 firewall-cmd --permanent --add-port=111/tcp;  需要firewall-cmd --reload
  3. 再次关闭 111 端口。firewall-cmd --permanent --remove-port=111/tcp; 需要firewall-cmd --reload

6.  动态监控进程

1. 概述

top 与ps 命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。

2. 语法

top  [选项] 


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

交互操作 

P     以 CPU 使用率排序,默认就是此项
M    以内存的使用率排序
N    以 PID 排序
q     退出 top 

各字段意思 

 

案例

案例 1监视特定用户,比如我们监控tom用户
top:  输入此命令,按回车键,查看执行的进程。
u:    然后输入“u”回车,再输入用户名,即可,
案例 2: 终止指定的进程,比如我们要结束tom 登录
top:   输入此命令,按回车键,查看执行的进程。
k:   然后输入“k”回车,再输入要结束的进程ID号
案例 3: 指定系统状态更新的时间(每隔10秒自动更新),默认是3秒
top  -d 10

7. 监控网络状态

netstat   [选项]


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

案例

请查看服务名为sshd的服务的信息。

netstat  -anp  |  grep  sshd

 

相关文章:

【Linux】Linux入门实操——进程管理(重点)

1. 概述 在 LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号(pid,进程号)。>windows > linux每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作&#xff0…...

Linux-Apache

文章目录 Apache基础配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2024年11月19日12点20分 Apache Web服务器用来实现HTTP和相关TCP连接的处理,同时负责所提供资源的管理…...

高危,Laravel参数注入漏洞安全风险通告

今日,亚信安全CERT监控到安全社区研究人员发布安全通告,披露了Laravel 参数注入漏洞(CVE-2024-52301)。在受影响的版本中,Application.php 文件的 detectEnvironment 函数直接使用了 $_SERVER[argv],但没有检查运行环境是否为 CLI…...

【Qt】使用QString的toLocal8Bit()导致的问题

问题 使用Qt发送一个Http post请求的时候,服务一直返回错误和失败信息。同样的url以及post参数,复制黏贴到postman里就可以发送成功。就感觉很神奇。 原因 最后排查出原因是因为参数中含有汉字而导致的编码问题。 在拼接post参数时,使用了…...

Android上运行Opencv(TODO)

在高通安卓平台上,确实可以通过 NDK 使用 OpenCV 并访问摄像头。NDK 提供了更高性能的计算能力,特别是在图像处理和计算密集型任务中,与 OpenCV 结合可以充分利用高通平台的硬件资源(如 NEON SIMD 指令集和 GPU 加速)。…...

动态IP黑白名单过滤的设计与实现(上篇设计思想)

文章目录 需求分析方案设计1、设计过程2、最终方案3、扩展知识 - 布隆过滤器 需求分析 一些恶意用户(可能是黑客、爬虫、DDoS 攻击者)可能频繁请求服务器资源,导致资源占用过高。因此我们需要一定的手段实时阻止可疑或恶意的用户&#xff0c…...

LeetCode 力扣 热题 100道(五)最长回文子串(C++)

最长回文子串 给你一个字符串 s,找到 s 中最长的 回文子串。 回文性 如果字符串向前和向后读都相同,则它满足 回文性 子字符串子字符串 是字符串中连续的 非空 字符序列。 动态规划法 class Solution { public:string longestPalindrome(string s) {i…...

Docker--Docker Registry(镜像仓库)

什么是Docker Registry? 镜像仓库(Docker Registry)是Docker生态系统中用于存储、管理和分发Docker镜像的关键组件。 镜像仓库主要负责存储Docker镜像,这些镜像包含了应用程序及其相关的依赖项和配置,是构建和运行Doc…...

maven手动上传jar到私服仓库:mvn deploy:deploy-file命令

一、场景 现需要将公司内部的jar包上传到私服仓库,供其他同事使用,此时就需要用到mvn deploy:deploy-file命令。 二、 mvn deploy:deploy-file命令 举个栗子: mvn deploy:deploy-file -DgroupIdorg.pttsql -DartifactIdpttsql -Dversi…...

【机器学习】机器学习中用到的高等数学知识-1.线性代数 (Linear Algebra)

向量(Vector)和矩阵(Matrix):用于表示数据集(Dataset)和特征(Feature)。矩阵运算:加法、乘法和逆矩阵(Inverse Matrix)等,用于计算模型参数。特征值(Eigenvalues)和特征向量(Eigenvectors)&…...

无插件H5播放器EasyPlayer.js网页web无插件播放器选择全屏时,视频区域并没有全屏问题的解决方案

EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…...

Idea中创建和联系MySQL等数据库

备注:电脑中要已下好自己需要的MySQL数据库软件 MySQL社区版下载链接: https://dev.mysql.com/downloads/installer/ 优点: 1.相比与在命令行中管理数据库,idea提供了图形化管理,简单明了; 2.便于与后端…...

【pytest】pytest注解使用指南

前言:在 pytest 测试框架中,注解(通常称为装饰器)用于为测试函数、类或方法提供额外的信息或元数据。这些装饰器可以影响测试的执行方式、报告方式以及测试的组织结构。pytest 提供了多种内置的装饰器,以及通过插件扩展…...

在Unity中使用Epplus写Excel

Overview 本文旨在帮助你快速入门,该库发展多年内容庞大(官方文档写的极好:https://github.com/EPPlusSoftware/EPPlus/wiki),有些功能在Unity环境可能你永远都不会使用. 官方的一个Demo: https://github.com/EPPlusSoftware/EPPlus.Samples.CSharp 如果你只有读的需求,可以…...

初识算法 · 模拟(2)

目录 前言: Z字形变换 题目解析 算法原理 算法编写 数青蛙 题目解析 算法原理 算法编写 前言: ​本文的主题是模拟,通过两道题目讲解,一道是Z字形变化,一道是数青蛙。 链接分别为: 1419. 数青蛙…...

【Java面试】—— 创建线程池的两种方式(执行流程、拒绝策略)(详细)

目录 一、ThreadPoolExecutor(推荐)(重点) 1、参数 2、执行流程 3、常用方法 4、任务拒绝策略 二、Executors(不推荐) 1、常用方法 2、存在的问题 一、ThreadPoolExecutor(推荐)(重点) 1、参数 使用指定的初始化参数创建一个新的线程池对象 public Thread…...

Docker在微服务架构中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Docker在微服务架构中的应用 Docker在微服务架构中的应用 Docker在微服务架构中的应用 引言 Docker 基本概念 1. 容器 2. 镜像 3…...

苹果ASA归因对接以及API接入

一、归因概要 广告归因,目的是用于衡量广告带来的激活用户的成本以及后续进一步的用户质量表现。 Apple Ads 广告平台是基于 App Store(站内广告),同时属于自归因平台(通常称为 SAN)。这两个因素&#xff…...

Git常用操作学习

目录 Git基础概述 1.1 什么是Git? 1.2 Git的优点Git工作流程 2.1 集中式工作流程 2.2 功能分支工作流程 2.3 Git Flow工作流程克隆仓库 3.1 使用git clone 3.2 克隆特定分支分支管理 4.1 创建分支 4.2 切换分支 4.3 合并分支 4.4 删除分支提交和推送更改 5.1 查看状…...

2.5D视觉——Aruco码定位检测

目录 1.什么是Aruco标记2.Aruco码解码说明2.1 Original ArUco2.2 预设的二维码字典2.3 大小Aruco二维码叠加 3.函数说明3.1 cv::aruco::detectMarkers3.2 cv::solvePnP 4.代码注解4.1 Landmark图说明4.2 算法源码注解 1.什么是Aruco标记 ArUco标记最初由S.Garrido-Jurado等人在…...

【PSQLException: An I/O error occurred while sending to the backend.】

PSQLException: An I/O error occurred while sending to the backend. java项目定时任务执行耗时很长的sql语句(很多条sql,从很多表中,很多数据中查询,处理)总之,耗时很长(PG数据库)。报错I/O error,Caused by : java.net.SocketTimeoutException: Read time out场景…...

图像基础算法学习笔记

目录 概要 一、图像采集 二、图像标注 四、图像几何变换 五、图像边缘检测 Sobel算子 Scharrt算子 Laplacian算子 Canny边缘检测 六、形态学转换 概要 参考书籍:《机器视觉与人工智能应用开发技术》 廖建尚,钟君柳 出版时间:2024-…...

【Elasticsearch】01-ES安装

1. 安装 安装elasticsearch。 docker run -d \--name es \-e "ES_JAVA_OPTS-Xms512m -Xmx512m" \-e "discovery.typesingle-node" \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--networ…...

网络性能测试

一、iperf网络性能测试工具 测试udp丢包率 在服务器启动 iperf 服务端 iperf -p 9000 -s -u -i 1参数说明: -p : 端口号 -s : 表示服务端 -u : 表示 udp 协议 -i : 检测的时间间隔(单位,秒) 在客户端,启动 iperf 客户端 iperf -c xxx.xxx.14…...

docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled

无数次的拉镜像让人崩溃: rootnode11:~/ragflow/docker# more rag.sh #export HTTP_PROXYhttp://192.168.207.127:7890 #export HTTPS_PROXYhttp://192.168.207.127:7890 #export NO_PROXYlocalhost,127.0.0.1,.aliyun.com docker compose -f docker-compose-gpu-C…...

esp32c3开发板通过micropython的mqtt库连MQTT物联网消息服务器

MQTT介绍 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,旨在设备之间进行通信,尤其是在网络条件较差的情况下。MQTT v3.1.1 和 MQTT v5 是该协议的两个主要版本。 MQTT v3.1.1: 优点&#xff…...

OceanBase 升级过程研究(4.2.1.6-4.2.1.8)

模拟业务 使用benchmark加载10仓数据模拟业务场景 升级方法 使用滚动升级方式来进行OB升级。该方法前提是OB集群必须满足官方规定的高可用架构(如果 Zone 个数小于 3,滚动升级时则无法构成多数派), 滚动升级的原理就是轮流完成每个ZONE的升级工作,由于…...

ubuntu下怎么设置机器程序开机自启?

在 Ubuntu 中,可以通过多种方法设置程序或脚本在系统启动时自动运行。以下是几种常见方法: 方法 1:使用 crontab crontab 是一个定时任务管理工具,可以用来设置程序在开机时自动运行。 1. 打开终端,编辑当前用户的 …...

Cesium 相机系统

Cesium 的相机系统是其 3D 地球渲染引擎的重要组成部分,它控制用户在虚拟地球上的视图和交互体验。Cesium 的相机系统具备灵活性和强大的功能,允许开发者自定义视图、导航和交互方式。以下是 Cesium 相机系统的主要特点和功能: 1. 相机的基本…...

数据结构(基本概念及顺序表——c语言实现)

基本概念: 1、引入 程序数据结构算法 数据: 数值数据:能够直接参加运算的数据(数值,字符) 非数值数据:不能够直接参加运算的数据(字符串、图片等) 数据即是信息的载…...

官方网站建设公/网络营销与策划实践报告

一、方案背景搭建高速公路视频监控平台的必要性有如下几点:1)用于高速收费站的收费流程监控、安全监察、智能收费等相关管理工作;2)用于交通卡口的测速、应急车道占用抓拍、违规行驶抓拍等;3)用于监测交通状…...

贵阳网站设计企业/武汉百度推广seo

向量化 无论使用哪门编程语言,使用该编程语言内置的函数总要比自己手写的函数快很多,如Octave中直接对矩阵A和B进行A*B即可实现矩阵乘法,且效率比自己手写高得多。故,倘若能将数据简化,并应用于内置函数中&#xff0c…...

胶南网站建设价格/seo的工作原理

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、…...

工业设计好找工作吗/湖南seo优化首选

FFmpeg for XP(x86) 2016-03-23 static 静态编译适用于32位XP系统,能加的扩展都加了,结果文件大小非常大. 最新版加了不少视频和音频滤镜. ffmpeg.20160323.for.XP.x86.static.7z./configure --enable-static --disable-shared --enable-gpl --enable-version3 --enable-nonfre…...

物流网站毕业设计论文/口碑营销的案例有哪些

一,自定义注解类 Target({ElementType.METHOD,ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Inherited //继承对接口是无用的;继承的时候只会集成到类上面的注解,不会继承到方法上的注解 Documented public interface Descriptio…...

小型网站建设实训教程/百度seo sem

首先到sun下载最新的jmf,然后安装。http://java.sun.com/products/java-media/jmf/index.jsp   然后,说一下需求   1. 用摄像头拍照   2. 在文本框输入文件名   3. 按下拍照按钮,获取摄像头内的图像…...