第7单元搞定Linux运维——进程管理

本文详细介绍了Linux进程的定义,包括程序与进程的区别、进程和线程的关系、进程的生命周期和状态。接着,讲解了各种进程查看命令的使用,如`ps`、`top`,并展示了如何过滤和动态查看进程。还涉及了进程优先级的调整、前后台进程的管理和进程信息号的操作。最后提到了`systemd`守护进程及其在系统服务管理中的应用,并简述了登录审计的相关概念。
摘要由CSDN通过智能技术生成

一、进程定义

程序和进程

程序是静态的代码文件
进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的(准备期,运行期,中止期)

示例:ls /bin/watch
watch -n 1 ->mem->cpu->mem->ctrl+c
(加载准备期,运行期,中止期)

进程和线程

进程是资源调用的最小单位。
线程是进程的最小单位,线程资源是共享的。
程序执行流是从上到下贯彻运行的,当进程是多任务的,cpu是多核,多任务应该同时被每个核心处理,每个核心处理的任务叫线程。

进程状态

R(TASK_RUNNING) 可执行态(running,ready) S(TASK_INTRRUPTABLE) 可唤醒休眠,cpu占用时间是有额度,当超时会被休眠 D(TASK_UNINTRRUPTABLE) 不可唤醒休眠 T(TASK_STOP) 暂停状态
Z(EXIT_ZOMBIE) 僵死态

示例: gedit->ctrl+c->ps -o stat,com
发现gedit进入暂停状态
在这里插入图片描述

二、进程查看命令

gnome-system-monitor

图形进程查看工具
在这里插入图片描述

ps 进程查看

命令有三种执行风格:unix bsd GNU
  a 与终端相关的进程(当用户登录系统后产生的进程都是带终端的)
  x 与终端无关的进程
  u 用户信息归类的查看方式
  f 进程层级关系
  o 显示指定参数
    pid(进程ID)
    comm(进程名字)
    nice(进程优先级)
    pri(内核调度优先级)
    pcpu()
    ppid(父进程号)
    stat(进程状态)
    user(用户名)
    group(用户组)
  -e 显示所有进程
  -f 显示信息的完整格式
  -H 显示进程的层级结构
  -o 显示指定参数
  --sort= uid,-ppid,+pid 按某一参数,倒序,正序排序

示例:ps ax显示信息如下
  pid(进程id)TTY(进程用到的终端)STAT(进程状态)TIME(进程占用cpu时长)COMMAND(进程名称)
在这里插入图片描述
示例:ps aux 显示信息如下
user(进程所有人)pid(进程id) %CPU(CPU占用量) %MEM(内存占用量)VSZ(虚拟内存大小) RSS(常驻内存数据大小) TTY(终端) STAT(进程状态) START(进程运行时长)TIME(占用cpu时长) COMMANDS(进程名称)
在这里插入图片描述
示例:ps f 进程层级关系
在这里插入图片描述
示例:ps -o 参数 指定查看
在这里插入图片描述
示例:抓取系统中cpu使用量前5的进程的pid
ps axo pid –sort=-%cpu | head -n 6 | tail -n 5
在这里插入图片描述

pgrep 进程过滤

(ps aux | grep westos查看指定元素,但不准确)

-u  按uid显示指定用户进程
-U 按user显示指定用户进程
-t   按tty 显示指定终端进程
-l  显示进程名称
-a 显示进程的完整名称
-P 显示进程的子进程

示例:id westos pgrep -lu 1000 pgrep -la -t pts/0 pgrep -la -P 14136
在这里插入图片描述

pidof

pidof vim 查看vim的pid
在这里插入图片描述

top 动态进程查看

top中的内容显示信息:

top - 09:50:39 up 12:00,  1 user,  load average: 0.09, 0.12, 0.09
        系统时间,登录用户数,1min 5min 15min平均负载

Tasks: 327 total,   1 running, 322 sleeping,   4 stopped,   0 zombie
       任务总量,运行,休眠任务数量,暂停数量,僵死数量
%Cpu(s): 12.5 us,  8.3 sy,  0.0 ni, 79.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
        用户空间,内核时间,nice值调整时间,空闲时间,等待io时间,处理硬件中断时间,处理软件中断时间,被偷走时间(vm使用)
MiB Mem:3758.6 total,   1877.6 free,   1177.2 used,    703.9 buff/cache
        总量,空闲,占用,缓存(可被清理)
MiB Swap:2048.0 total,   2048.0 free,      0.0 used.   2320.1 avail Mem
        交换分区用量                            

top命令参数:
-d 刷新频率
-b 以批次方式显示
-n 指定显示的批次数量

示例:top -n -b 2 按批次显示两次

top内部指令:
<P> cpu用量排序
<M> 内存排序
<T> 累计占用cpu时间排序
<t> 关闭开启cpu&task
<l> 关闭/开启uptime信息
<s> 指定刷新频率
<k> 操作进程
<u> 查看指定用户进程

三、进程优先级

系统是多任务多用户的操作模式,任务的重要性是有区分的,如何确定任务的重要性
“优先级”
   范围:0—139
   内核自控优先级:0-99
   用户可控优先级:100-139

renice 更改优先级
nice 指定优先级

示例:
ps -o pid,nice,stat,comm vim
renice -n -5 pid 更改pid优先级
关掉vim
ps查看pid号》top》k》pid》9杀掉进程 在这里插入图片描述

注:
 S sleeping
 < 优先级高
 s 顶级进程
 T stop
 N 优先级底
 R running
 + 运行在前台

四、进程前后台调用

<ctrl>+<z> 把占用shell的进程后台挂起
bg+job号 把后台挂机的进程运行起来
fg+job号 把后台进程调回前台
   fg 调回jobs中带+号的进程
&运行进程在后台
jobs 查看当前shell中在后台的所有工作

示例:
在这里插入图片描述

五、进程信息号

kill 进程信号 pid
killall 进程信号 进程名字
pkill 进程信号 进程条件killed

示例:pkill -u westos -9 指定杀掉用户名为westos的进程
在这里插入图片描述

进程信号:
  1 重读系统配置文件
  2 清空内存中的进程数据
  3 情况内存中的鼠标(ctrl+\)
  9 强行结束继承(不能被阻塞)
  15 正常关闭进程(可以被阻塞)
  18 重运行被暂停的进程
  19 暂停进程(不会被阻塞)
  20 暂停进程(会被阻塞)

示例: vim .bashrc改变umask kill -1 49447 自动关掉程序,再次开启umask就会改变
在这里插入图片描述
kill -2 用法
在这里插入图片描述vim &在后台运行
kill -15 关闭进程会发生阻塞
kill -9会强制关闭,不阻塞
在这里插入图片描述
示例:
kill -19 暂停3842进程,无法操作,用kill -18 3842如图上方的shell界面便可继续操作
在这里插入图片描述

六、systemd守护进程

实验环境
linux.westos.com ---->172.25.254.10
node1.westos.com ---->172.25.254.20

远程操作主机 :ssh 主机ip -l 远程主机用户

示例: ssh 172.25.254.10 -l root touch file1,file2
在这里插入图片描述
在主机172.25.254.10中远程创建file1,file2成功

守护进程:systemd 替内核分担程序控管的程序,通常pid为1

服务指在系统中开启的共享系统资源到网络中的程序
cs模型 client----server

systemctl 管理系统服务
start 开启
stop 关闭
status 查看状态
reload 重新加载
restart 重新启动服务(更改配置结束程序再sys开启新的)
enable 设定服务开机启动
enable --now 设定服务开机启动并当前开启服务
disable 设定服务开机不启动
list-units 查看系统所有服务当前状态
list-unit-files 查看服务开机状态
list-dependencies 列出服务依赖性
mask sshd 冻结服务 start开启不了
unmask 解锁服务
set-default 设定系统运行级别
   multi-user.target无图形的网络模式
   graphical.target 有图像的网络模式
get-default 查看系统运行模式
            run level系统运行模式0-6
            0 POWEROFF
            1 single
            2 noG+NETWORK
            3
            4
            5 G+NETWORK
            6 REBOOT

示例:启动sshd,并查看状态 systemctl start sshd systemctl status sshd
在这里插入图片描述
示例:reload重载服务不会改变PID
systemctl reload sshd.service
在这里插入图片描述
示例:systemctl disable sshd.service 设置ssh服务开机不启动
另一台主机将无法链接它 在这里插入图片描述
示例:systemctl mask sshd冻结后服务启动失败,unmask解锁
在这里插入图片描述
示例:systemctl get-default 查看系统运行模式
systemctl set-default multi-user.target改变系统运行模式
reboot重启,变为无图形模式
在这里插入图片描述在这里插入图片描述

七、进程系统中的登录审计

w 显示正在登录系统的账户
  -i 显示登录来源
注:man w可得此命令查看的文件/var/run/utmp如果清空则w显示为空
last 登录成功现在已经退出的
    /var/log/wtmp
lastb 试图登录但没成功
    /vat/log/btemp
在这里插入图片描述

配置主机ip方法

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值