0
点赞
收藏
分享

微信扫一扫

网络运维Day07

天际孤狼 2023-11-11 阅读 46
网络运维

文章目录

环境准备

本节课需要提前准备一台CentOS7.9虚拟机

进程管理

程序

  • 保存在磁盘中的可执行文件

  • 是静态保存的代码

进程

  • 在CPU及内存中运行的程序指令

  • 是动态执行的代码

  • 父/子进程:进程可以创建一个或多个子进程

查看进程树

  • pstree — Processes Tree

  • 格式:pstree \[选项] \[PID或用户名]

    • -a: 显示完整的命令行
    • -p: 列出对应PID编号
  • systemd:所有进程的父进程 (上帝进程)

[root@som ~]# pstree         					#查看整个进程树信息
[root@som ~]# pstree -u lisi					#查看lisi用户的进程
未发现进程。    

另开一个终端

[root@som ~]# su - lisi							#切换lisi用户
[lisi@som ~]$ vim a.txt          				#不编辑,不退出即可

回到之前终端

[root@som ~]# pstree -u  lisi                 	#显示lisi用户正在运行的进程
bash───vim
[root@som ~]# pstree -pu  lisi              	#p,显示pid号
bash(11980)───vim(12017)
[root@som ~]# pstree -apu  lisi            		#a,显示完整的命令行
bash,11980
  └─vim,12017 a.txt

查看进程

  • ps aux 操作:信息非常全面详细,列出正在运行的所有进程

    • a:显示当前终端所有进程
    • u:以用户格式输出
    • x:当前用户在所有终端下的进程
  • ps -elf 操作:信息中有该进程的父进程信息列出正在运行的所有进程

    • -e:显示系统内所有进程
    • -l:以长格式输出信息,包括最完整的进程信息
[root@som ~]# ps aux
USER  PID       %CPU %MEM    VSZ        RSS    TTY   STAT     START   TIME COMMAND
用户  进程ID     %cpu %内存   虚拟内存   固定内存   终端   状态    起始时间 cpu时间 程序指令
[root@som ~]# ps -elf     				#会有一个PPID
PPID:代表父进程的PID
[root@som ~]# ps -elf | wc -l          	#统计正在运行的进程有多少

进程动态排名

  • top 交互式工具,默认3秒刷新一次

  • 格式:top [-d 刷新秒数][-U 用户名]

[root@som ~]# top          			#查看进程,默认每隔3秒刷新一次
[root@som ~]# top -d 1 				#每隔1秒刷新一次
按大写P 根据CPU使用进行排序,CPU占用最高的排首位**
按大写M 根据内存使用进行排序,内存占用最高的排首位**

Top命令参数详解:Top命令参数详解

查看CPU负载

  • 可以通过uptime命令来非交互式查看CPU平均负载等信息
[root@som ~]# uptime
13:55:28 up 10 days,  1:13,  2 users,  load average: 0.00, 0.01, 0.05

检索进程信息

  • pgrep — Process Grep

    • -l:输出进程名,而不仅仅是 PID
    • -U:检索指定用户的进程
    • -t:检索指定终端的进程
    • -x:精确匹配完整的进程名
  • 用途:pgrep [选项]... 查询条件

[root@som ~]# pgrep a                 	#检索进程名包含a的进程,但是只显示PID
[root@som ~]# pgrep -l a        		#检索进程名包含a的进程,-l输出进程名称
[root@som ~]# pgrep -l crond
1246 crond    
[root@som ~]#  pgrep -lU lisi    		#检索lisi用户的进程

进程的前后台调度

  • 前台启动

    • 输入正常的命令行
    • 运行期间占用当前终端
  • 后台启动

    • 在命令行末尾添加“&”符号,以正在运行的状态放入后台
    • 运行期间不占用当前终端
[root@som ~]# sleep  3           		#当前终端睡3秒
[root@som ~]# sleep  1000            	#当前终端睡1000秒,会一直占用这个终端
[root@som ~]# sleep  1000 &         	#当前终端睡1000秒,但是是放到后台,不影响使用终端
[root@som ~]# firefox
[root@som ~]# firefox &
  • Ctrl + z 组合键

    • 挂起当前进程 (暂停并转入后台)
  • jobs:查看后台任务列表

[root@som ~]# jobs           			#查看后台进程任务列表
[root@som ~]# sleep 1000
^Z                            			#按Ctrl+z 暂停放入后台
[2]+  已停止               sleep 1000
[root@som ~]# jobs

bg:激活后台被挂起的任务

[root@som ~]# bg  2       				#将后台编号为2的进程继续运行
[root@som ~]# jobs

fg:将后台任务恢复到前台运行

[root@som ~]# fg  2      				#将后台编号为2的进程恢复到前台
sleep 800
^C                        				#按Ctrl+c终止进程
[root@som ~]# jobs
[root@som ~]# fg  1
sleep 1000
^C
[root@som ~]# jobs

杀死进程

  • 干掉进程的不同方法
    • Ctrl+c 组合键,中断当前命令程序
    • kill [-9] PID… 、kill [-9] %后台任务编号,-9强制杀死
    • killall [-9] 进程名…
    • pkill 查找条件
[root@som ~]# sleep 1000 &
[1] 21406
[root@som ~]# sleep 2000 &
[2] 21407
[root@som ~]# sleep 3000 &
[3] 21408
[root@som ~]# jobs -l              		#-l显示进程的pid
[root@som ~]# kill -9 21406        		#强制杀死pid为21406的进程
[root@som ~]# killall  -9 sleep           #强制杀死所有sleep进程
[3]+  已终止               sleep 3000
[root@som ~]# jobs -l

杀死一个用户的开启的所有进程(强制踢出一个用户)

[root@som ~]# pkill  -9 -u lisi

systemctl命令

  • systemctl是Linux系统中常用的服务管理工具,可以用于启动、停止、重启、查看服务状态等操作。
  • firewalld是CentOS 7内置的防火墙服务,本实验采用firewalld服务练习
  • 最终需要关闭防火墙并设置为开机不自启。
[root@som ~]# systemctl status firewalld		#查看firewalld服务状态
[root@som ~]# systemctl start firewalld			#启动firewalld服务
[root@som ~]# systemctl restart firewalld		#重启firewalld服务
[root@som ~]# systemctl stop	firewalld		#停止firewalld服务
[root@som ~]# systemctl enable firewalld		#将firewalld服务设置为开机自启动
[root@som ~]# systemctl disable firewalld		#将firewalld服务设置为开机不自启动
[root@som ~]# systemctl is-enabled firewalld		#查看firewalld服务是否为开机自启动

SELinux

  • SELinux(Security-Enhanced Linux)是一个安全性增强型的Linux操作系统,它是基于MILS(多级安全)架构的一种强制访问控制机制。通过将SELinux应用到内核模块和文件系统中,可以实现对系统和应用程序的安全保护。

  • SELinux有三种模式:enforcing、permissive和disabled。

  • Enforcing模式

    • 在Enforcing模式下,SELinux强制对系统资源和应用程序进行安全保护,禁止未经授权的访问和操作。如果出现违规行为,SELinux会自动记录并且防止该行为进行。Enforcing模式是SELinux的默认模式。
  • Permissive模式

    • 在Permissive模式下,SELinux只是记录违规行为并不会拦截。其目的是观察应用程序如何与SELinux互动并了解SELinux规则如何影响应用程序。Permissive模式的作用在于不中断系统程序的正常工作,同时记录下可能违规行为,以提高系统的安全性。
  • Disabled模式

    • 在Disabled模式下,SELinux不进行任何操作,应用程序和系统资源可以自由访问和操作。在需要暂时关闭SELinux时可以使用Disabled模式。

关闭SELinux

将SELinux改为Disabled模式

[root@som ~]# vim /etc/selinux/config		#修改文件
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - SELinux is fully disabled.
SELINUX=disabled
...
[root@som ~]# reboot						#重启

总结

  • 掌握进程管理
    • 掌握进程与程序的区别
    • pstree、ps、top、uptime
  • 掌握进程前后台调度
    • &、fg、bg
  • 掌握systemctl命令停启服务
  • 了解SELinux
举报

相关推荐

Day07

Java Day07

day07数组

微服务day07

Java学习-Day07

**day07 - Web APIs**

java基础 Day07

面向对象day07

JavaSE learning day07

0 条评论