linux资源管理篇

昨日内容回顾

1.先看状态,再去启动
systemctl status firewalld
systemctl restart firewalld
systemctl list-unit-files |grep firewalld
 
 
 1.先理解服务的意思,服务,就是你安装的软件名字
 2.服务就是一个软件程序,会提供可用的命令,去操控这个软件
 3. firewalld服务,命令就是firewall-cmd
 
 你最近学了那些服务?
 crond.service(crontab)
 ntpd.service (ntpdate)
 firewalld.service(firewall-cmd,iptables)
 httpd(网站服务,阿帕奇软件提供的服务,/usr/sbin/http)
 nginx(网站服务,nginx提供的软件,/usr/sbin/nginx)
 sshd(提供远程连接的方服务,ssh连接命令)
 
 
 
 

 
 单独安装的一个命令,工具,一个小的软件(没有提供服务去帮你管理这个程序)
 仅仅提供了一个二进制命令,如代码雨程序  /usr/local/cmatrix/
 
 
 .查看当前(默认的区域)详细信息
# 写完整的话,是
firewall-cmd --zone=public  --list-all


注意,你要不说明,区域的话,系统默认zone可能以及被改了,你的命令都是错的

firewall-cmd  --zone=public   --add-service=http


还有一种,非立即生效,但是是写入配置文件,永久生效的



9.修改
添加规则,永久生效,但是没有立即生效
firewall-cmd --permanent --add-service=http

firewall-cmd --reload    # 或者 systemctl restart firewald







15.
关闭
systemctl stop firewalld


清空规则
firewall-cmd 是centos7提供的对防火墙策略的管理命令,最终还是生成了iptables规则
↓
查看系统上所有的规则 iptables -L
↓
清空防火墙规则  iptables -F
↓
停止防火墙服务
systemctl stop firewalld
↓
禁止开机自启
systemctl disable firewalld



# 定时任务的作用
在什么时间,做什么事









 

image-20220323095643468


image-20220323100025112

定时任务
0和7一个作用,都是星期日

保留任务

每隔2个⽉的周六,夜⾥2点30 去⻅⽹友


服务管理是什么概念

image-20220323100718265

30   8-12/2 * * *  /usr/bin/echo '上午的保留问题' >> /tmp/t1.txt

8:30

10:30

12:30

2:30

4:30

保留问题,12:30是否执行(预测,不执行的)







image-20220323102208246

关于定时任务的黑白名单坑

1. 你想禁止哪些用户创建定时任务
写入 /etc/cron.deny黑名单文件,优先级较低,名字写入这里头,该用户就被禁止了
其他用户默认是全部允许,执行定时任务的


2. 你还可以使用白名单文件, /etc/cron.allow
但是,这个文件,优先级最高,只要这个文件中,没有的名字,都无法创建定时任务!
因此系统默认没有这个文件

3. 看情况用,默认linux是没有白名单文件的。



今日资源管理

服务器有哪些资源(可用硬件资源)可以让你去管理,从硬件角度,结合软件去考虑

学习linux命令去管理这些资源

运维就是围着这些资源在工作的。

什么是资源管理器

image-20220323104931408

什么是进程,线程

进程,是资源单位(包工头)

线程,是工作单位(干活的工人)

image-20220323105853066

什么是父亲进程,儿子进程

image-20220323110138818

我们登录的xshell终端,是这样的流程

  1. 系统上运行了sshd服务
  2. 通过ssh客户端命令,都是去连接这个服务,产生的一堆子进程而已。
通过命令,查看他们的父子关系
通过他们的进程id号来确认无误


image-20220323110437606

理解linux的启动进程关系

image-20220323111320987

关于ps去看进程,区分内核进程和用户进程

image-20220323111759750

理解你是如何登录了linux,以及后续的命令执行,进程关系

linux系统启动产生的 1号进程
↓
运行了sshd服务,xxx进程
↓
ssh远程连接,xxx进程
↓
/bin/bash 进程,xxx进程
↓
后续各种命令 ,xxx进程,命令1,命令2,命令3



# 打开3个ssh会话窗口,一个用于查看进程,2个用于 使用vim命令操作,用ps,查看他们的父子关系

image-20220323113721470

孤儿进程,僵尸进程

孤儿进程

演示孤儿进程,但是需要用代码实现,一般都是代码写的垃圾,才会出现这种情况

# 于超老师教你用python实现,孤儿进程。

# 运行一个python程序,用的是系统自带的python2语法
# 1.touch 创建脚本
# 2.写入代码
# 3. 用python解释器 去读这个程序


[root@yuchao-linux01 ~]# cat guer.py
#coding:utf-8
import os
import sys
import time

pid = os.getpid()
ppid = os.getppid()
print 'im father: ', 'pid: ', pid, 'ppid: ', ppid
son_pid = os.fork()
print('now song_pid is: ',son_pid)
#执行pid=os.fork()则会生成一个子进程
#返回值pid有两种值:
#    如果返回的pid值为0,表示在子进程当中
#    如果返回的pid值>0,表示在父进程当中
if son_pid > 0:
    print 'father going die...'
    # 让老父亲,主动退出,挂掉
    sys.exit(0)

# 保证主线程退出完毕
# 程序延迟了1秒,还在运行中,儿子进程还未挂,成了孤儿
time.sleep(5)

print 'im child: ', os.getpid(),'now my father is: ', os.getppid()

看到如下进程状态,就是僵尸进程

[root@167 ~]# ps -ef|grep 30394
root      30394  30317  0 11:57 pts/1    00:00:00 python jiangshi.py
root      30395  30394  0 11:57 pts/1    00:00:00 [python] <defunct>

还可以用top命令去看,有几个僵尸进程

管理进程的一堆命令

image-20220323121509987

htop命令

更美观的,一些第三方工具而已

yum install htop -y

总结

下午补充

image-20220323150621107

今日所有,脑图补充

今日所学