第十一章 Linux实际操作——进程管理(重点)

news2024/11/19 17:30:43

第十一章 Linux实际操作——进程管理(重点)

  • 11.1 基本介绍
  • 11.2 显示系统执行的进程
    • 11.2.1 基本介绍
    • 11.2.2 ps详解
    • 11.2.3 应用实例
  • 11.3 终止进程kill和killall
    • 11.3.1 介绍
    • 11.3.2 基本语法
    • 11.3.3 常用选项
    • 11.3.4 最佳实践
  • 11.4查看进程树pstree
    • 11.4.1 基本语法
    • 11.4.2 常用选项
    • 11.4.3 应用实例
  • 11.5 服务(service)管理
    • 11.5.1 介绍
    • 11.5.2 service管理指令
    • 11.5.3 service管理指令案例
    • 11.5.4 查看服务名
    • 11.5.5 服务的运行级别(runlevel
    • 11.5.6 CentOS7后运行级别说明
    • 11.5.7 chkconfig指令
    • 11.5.8 systemctl管理指令
    • 11.5.9 systemctl设置服务的启动状态
    • 11.5.10 应用案例
    • 11.5.11细节讨论
    • 11.5.12打开或者关闭指定端口
    • 11.5.13 firewall指令
    • 11.5.14 应用案例
  • 11.6 动态监控进程
    • 11.6.1 介绍
    • 11.6.2 基本语法
    • 11.6.3 选项说明
    • 11.6.4 交互操作说明
    • 11.6.5 应用实例
  • 11.7 监控网络状态
    • 11.7.1 查看系统网络情况
    • 11.7.2 检测主机连接命令ping

11.1 基本介绍

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

11.2 显示系统执行的进程

11.2.1 基本介绍

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数.
在这里插入图片描述

11.2.2 ps详解

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

11.2.3 应用实例

  • 要求:以全格式显示当前所有的进程,查看进程的父进程。查看sshd 的父进程信息
    • ps -ef是以全格式显示当前所有的进程
    • -e显示所有进程。-f全格式
    • ps -ef]grep sshd
  • √是BSD风格
    • UID:用户ID
    • PID:进程ID
    • PPID:父进程ID
    • C: CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是IO密集型运算,执行优先级会提高
    • STIME:进程启动的时间
    • TTY:完整的终端名称
    • TIME:CPU时间
    • CMD:启动进程所用的命令和参数

11.3 终止进程kill和killall

11.3.1 介绍

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

11.3.2 基本语法

kill [选项] 进程号
(功能描述:通过进程号杀死/终止进程)
kilal 进程名称
〈功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

11.3.3 常用选项

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

11.3.4 最佳实践

    1. 案例1:踢掉某个非法登录用户
  • kill 进程号,比如 kill 11421
    1. 案例2:终止远程登录服务sshd,在适当时候再次重启sshd服务
  • kill sshd对应的进程号;
  • /bin/systemctl start sshd.service
    1. 案例3:终止多个gedit,演示
  • killall gedit
    1. 案例4:强制杀掉一个终端,指令
  • kill -9 bash对应的进程号

11.4查看进程树pstree

11.4.1 基本语法

pstree[选项],可以更加直观的来看进程信息

11.4.2 常用选项

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

11.4.3 应用实例

案例1:请以树状的形式显示进程的pid
pstree -p
案例2:请以树状的形式进程的用户
pstree -u
在这里插入图片描述

11.5 服务(service)管理

11.5.1 介绍

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

11.5.2 service管理指令

  1. service 服务名 [start | stop | restart | reload | status]
  2. 在CentOS7.0后很多服务不再使用service ,而是 systemctl (后面专门讲)
  3. service指令管理的服务在letc/init.d查看
    在这里插入图片描述

11.5.3 service管理指令案例

请使用service指令,查看,关闭,启动network [注意:在虚拟系统演示,因为网络连接会关闭]指令:
service network status
service network stop
service network start

11.5.4 查看服务名

方式1:使用setup ->系统服务就可以看到全部。
setup
在这里插入图片描述
方式2: /etc/init.d看到service指令管理的服
ls -l /etc/init.d

11.5.5 服务的运行级别(runlevel

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

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

11.5.6 CentOS7后运行级别说明

在/etc/initab
进行了简化﹐如下:
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5init 0
#To view current default target, run:
systemctl get-default

#To set a default target, run:
systemctl set-default TARGET.target

11.5.7 chkconfig指令

介绍
通过chkconfig命令可以给服务的各个运行级别设置自启动/关闭
chkconfig指令管理的服务在/etc/init.d查看
注意:Centos7.0后,很多服务使用systemctl 管理
chkconfig 基本语法
l) 查看服务
chkconfig --list [l grepxxx]
2) chkconfig 服务名–list
3) chkconfig --level 5 服务名 on/off

  • √案例演示:对network服务﹐进行各种操作,把network在3运行级别,关闭自启动

chkconfig --level 3 network off
chkconfig --level 3 network on

  • √使用细节

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

11.5.8 systemctl管理指令

基本语法:
systemctl [start | stop | restart | status]服务名
systemctl指令管理的服务在/usr/ib/systemd/system 查看

11.5.9 systemctl设置服务的启动状态

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

11.5.10 应用案例

查看当前防火墙的状况,关闭防火墙和重启防火墙。=> firewalld.servicesystemctl status firewalld; systemctl stop firewalld; systemctl start firewalld

11.5.11细节讨论

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

11.5.12打开或者关闭指定端口

在真正的生产环境,往往需要将防火墙打开,但问题来了,如果我们把防火墙打开,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口。比如 80、22、8080等,这个又怎么做呢?老韩给给大家讲一讲。[示意图]
在这里插入图片描述

11.5.13 firewall指令

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

11.5.14 应用案例

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

11.6 动态监控进程

11.6.1 介绍

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

11.6.2 基本语法

top [选项]

在这里插入图片描述

11.6.3 选项说明

在这里插入图片描述

11.6.4 交互操作说明

在这里插入图片描述

11.6.5 应用实例

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

11.7 监控网络状态

11.7.1 查看系统网络情况

  • 基本语法.
    • netstat [选项]
  • 选项说明
    • -an - 按一定顺序排列输出
    • -P - 显示哪个进程在调用
  • 应用案例
    • 请查看服务名为sshd的服务的信息。
    • netstat -anp | grep sshd

11.7.2 检测主机连接命令ping

在这里插入图片描述
在这里插入图片描述
是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的网线或网卡故障。
如: ping对方ip地址

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

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

相关文章

微服务-微服务Spring-cloud-open-feign

1. LoadBalancerRestTemplate的缺陷 LoadBalancerRestTemplate进行微服务调用 BeanLoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate();}//调用方式String url "http://mall-order/order/findOrderByUserId/"id;R result restTemplate.…

路由进阶

文章目录 1.路由的封装抽离2.声明式导航 - 导航链接3.声明式导航-两个类名自定义匹配的类名 4.声明式导航 - 跳转传参查询参数传参动态路传参两种传参方式的区别动态路由参数可选符 5.Vue路由 - 重定向6.Vue路由 - 4047.Vue路由 - 模式设置8.编程式导航 - 两种路由跳转9.编程式…

Nginx负载均衡下的webshell连接

一、WebShell简介 “web”的含义是显然 需要服务器开放web服务,“shell”的含义是 取得对服务器某种程度上操作权限。 webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是就…

漏洞原理MySQL注入布尔盲注入

1 判断MySql注入点是否存在 利用盲注入的方式 http://127.0.0.1/news/show.php?id46 and 11 # 正常显示 http://127.0.0.1/news/show.php?id46 and 12 # 不显示 2 获取数据库的长度 http://127.0.0.1/news/show.php?id46 and length(database())n n的范围是从 1 开始 h…

Kotlin快速入门4

Kotlin的类与对象 类的定义 Kotlin使用关键字class来声明类。后面紧跟类名字: class LearnKotlin { //类名:LearnKotlin//... } Kotlin的类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。当然,也可以定义一…

BGP:05 BGP自动路由汇总

路由汇总,能有效地减少 BGP 路由器通告的路由条目数量,减小设备的路由表规模,并将拓扑变化产生的影响限制在一个相对更小的范围内。 自动路由聚合是在自然边界路由器上自动执行的,在默认情况下,BGP的自动路由聚合功能是…

go包与依赖管理

包(package) 包介绍 Go语言中支持模块化的开发理念,在Go语言中使用包(package)来支持代码模块化和代码复用。一个包是由一个或多个Go源码文件(.go结尾的文件)组成,是一种高级的代码…

springboot134英语知识应用网站的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

深度强化学习(王树森)笔记07

深度强化学习(DRL) 本文是学习笔记,如有侵权,请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接:https://github.com/wangshusen/DRL 源代码链接:https://github.c…

C++多线程2(复习向)

lock_guard lock_guard是C中提供的对互斥锁有关操作的高级接口,可对互斥锁进行自动上锁和解锁,多用于作为局部变量。(在对象创建时,构造函数中自动为传入的互斥锁对象上锁,局部变量被系统回收时,其析构函数…

消失的数字(c语言多种解法)

题目 该题目取自力扣(LeetCode)面试题 17.04. 消失的数字 该题目主要考察时间复杂度的把握,题目如下: 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗&a…

幻兽帕鲁服务器出租,腾讯云PK阿里云怎么收费?

幻兽帕鲁服务器价格多少钱?4核16G服务器Palworld官方推荐配置,阿里云4核16G服务器32元1个月、96元3个月,腾讯云换手帕服务器服务器4核16G14M带宽66元一个月、277元3个月,8核32G22M配置115元1个月、345元3个月,16核64G3…

【MySQL】补充和navicat的一些简单使用

文章目录 前言在这里插入图片描述 事情起因因为这个articlecount的c是小写了,我想改成大写 一、修改二、navicat的使用步骤1.连接2.建库,建表 三.填写数据总结 前言 事情起因因为这个articlecount的c是小写了,我想改成大写 提示:…

[css] 让文字进行竖着 分散对齐

.demo2 {width: 60px;background-color: aqua;height: 200px;display: grid;place-items: center;}参考: css 让文字进行竖着书写, 附带个小知识,行内块元素添加文字之后底部对不齐的问题

系统架构15 - 软件工程(3)

软件过程模型 瀑布模型特点缺点 原型化模型特点两个阶段不同类型注意 螺旋模型V 模型特点 增量模型特点 喷泉模型基于构件的开发模型(CBSD)形式化方法模型敏捷模型特点“适应性” (adaptive) 而非“预设性” (predictive)“面向人的” (People-oriented) 而非“面向过程的” (P…

动态规划算法题刷题笔记

首先看动态规划的三要素:重叠子问题、最优子结构和状态转移方程。 重叠子问题:存在大量的重复计算 最优子结构: 状态转移方程:当前状态转移成以前的状态 动态规划的解题步骤主要有: 确定 dp 数组以及下标的含义状…

【Redis】Redis有哪些适合的场景

🍎个人博客:个人主页 🏆个人专栏:Redis ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 (1)会话缓存(Session Cache) (2)全页缓存(FPC…

JetpackCompose 之 状态学习

1.无状态组件 1.1导入依赖 implementation("androidx.core:core-ktx:1.9.0")implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1")implementation("androidx.activity:activity-compose:1.7.0")implementation(platform("an…

MyBatis详解(3)-- 动态代理及映射器

MyBatis详解(3) mybatis 动态代理动态代理的规范selectOne和selectListnamespace mybatis映射器映射器的引入: 映射器的组成select 元素结构:单个参数传递多个参数传递 insert 元素结构主键回填:自定义主键生成规则 u …

CSS 双色拼接按钮效果

<template><view class="sss"><button> <!-- 按钮 --><view class="span"> 按钮 </view> <!-- 按钮文本 --></button></view></template><script></script><style>body {b…