IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux计划任务以及进程检测与控制 -> 正文阅读

[系统运维]Linux计划任务以及进程检测与控制

作者:recommend-item-box type_blog clearfix

计划任务权限:

黑名单:

crontab是任何用户都可以创建的计划任务,但是超级管理员可以通过配置来设置某些用户不允许设置计划任务 。

提出问题:如果我们想限定某个用户(如hruser)使用计划任务,如何处理呢?

答:可以使用计划任务的黑名单,黑名单文件路径 => /etc/cron.deny文件

案例:把普通账号itheima加入到cron.deny黑名单中,禁止其创建计划任务

第一步:切换到超级管理员root

# su - root

第二步:使用vim打开/etc/cron.deny文件

# vim /etc/cron.deny

第三步:把你需要禁止的用户名单,加入此文件(如hruser)

hruser

切换到hruser账号,测试是否可以使用crontab命令

白名单:

在Linux的计划任务中,除了拥有黑名单以外,还有白名单。作用:允许哪些用户使用计划任务。

白名单文件的路径 => /etc/cron.allow,但是要特别注意,此文件需要手工创建。

注意:白名单优先级高于黑名单,如果一个用户同时存在两个名单文件中,则会被默认允许创建计划任务。

查看计划任务的保存文件:

问题:计划任务文件具体保存在哪里呢?

答:/var/spool/cron/用户名称,如果使用root用户编辑计划任务,则用户文件名为root

# ll /var/spool/cron
total 4
-rw-------. 1 itheima itheima  0 Mar 24 09:50 hruser
-rw-------. 1 root    root    40 Mar 24 10:21 root

计划任务的日志程序:

问题:在实际应用中,我们如何查看定时任务运行情况?

答:通过计划任务日志,日志文件位于/var/log/cron

案例:演示计划任务的日志程序

第一步:使用root账号创建一个计划任务

# su - root
# crontab -e
* * * * * echo 1 >> ~/readme.txt

第二步:使用tail -f命令监控/var/log/cron日志程序

# tail -f /var/log/cron

扩展内容:at命令:

在Linux系统下,有两个命令可以实现计划任务:crontab与at(第三方需要额外安装)

crontab :每天定时执行计划任务(最小单元分钟)

at :一次性定时执行任务
安装at命令:
CentOS7自带,其他版本可能需要手工安装

# yum install at -y

启动底层服务:

# systemctl start atd
# systemctl enable atd

atd = at + d = at命令 + daemon缩写

案例演示:

案例1:三天后下午5点执行/bin/ls

# at 5pm+3 days
at>/bin/ls >/root/readme.txt
at>按Ctrl+D

am = 上午、pm = 下午、3 days = 3天

案例2:明天17点,输出时间到指定的文件中

# at 17:00 tomorrow
at>date>/root/readme.txt
at>按Ctrl+D

tomorrow = 明天

案例3:使用atq查看没有执行的计划任务

# atq

atq = at + q = at命令 + query查询

案例4:删除指定的计划任务

# atq
# atrm 任务号

atrm = at + rm = at命令 + remove移除

Linux进程与程序:

进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,并占用一定的系统资源。
程序是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合。

? 简单来说,程序是人使用计算机语言编写的,可以实现一定功能,并且可以执行的代码集合。进程是正在执行中的程序。

举例:谷歌浏览器是一个程序,当我们打开谷歌浏览器,就会在系统中看到一个浏览器的进程,当程序被执行时,程序的代码都会被加载入内存,操作系统给这个进程分配一个 ID,称为 PID(进程 ID)。我们打开多个谷歌浏览器,就有多个浏览器子进程,但是这些进程使用的程序,都是chrome

PID = Process ID = 进程编号

Linux下的进程管理工作:

进程查看,通过查看,判断健康状态

进程终止

进程优先级控制

Linux下进程管理命令:

使用top命令动态监测CPU信息

top

系统的整体情况:

第一行:

在这里插入图片描述

第二行:

在这里插入图片描述

第三行:

在这里插入图片描述

第四行:

在这里插入图片描述

第五行:

在这里插入图片描述

在这里插入图片描述

问题:如果我的机器有4核CPU,我想查看每一核心分别的负载情况怎能办?

答:交换快捷键 “1”

CPU负载测试 => cat /dev/urandom |md5sum

在Linux操作系统分区时,最少需要3个分区:

① /boot分区 : 系统分区

② swap交换分区 :一般情况下为内存的1~2倍,但是尽量不要超过2G

③ /分区 :根分区,所有文件都存放于此

swap分区:就是当计算机的内存不足时,系统会自动从硬盘中划出一块区域充当内存使用。

? 我们通过 top 命令的整体信息部分,就可以判断服务器的健康状态。如果 1 分钟、5 分钟、15 分钟的平均负载高于CPU核数,说明系统压力较大。如果物理内存的空闲内存过小,则也证明系统压力较大。

问题:根据以上信息,目前我们的系统压力如何?

答:看CPU负载及内存的使用情况

问题:如果我们发现CPU负载过大,接下来怎么办?

答:如果1分钟、5分钟以及15分钟全部超过CPU的总核心数(必须引起警觉),这个时候就要查看底部的进程信息了。

经验之谈:如果一个总核数=8核心的CPU,理论上平均负载达到16,也还可以坚持很长一段时间

系统的进程信息:

在这里插入图片描述

问题:如果我们发现CPU负载过大,接下来怎么办?

答:查看占用CPU最多的进程

问题:如何查看占用CPU最多的进程?

答:交互操作快捷键P,P(大写):,表示将结果按照CPU 使用率从高到低进行降序排列

问题:如果我们发现内存可用量很小,接下来怎么办?

答:查看占用内存最多的进程,使用交互快捷键M(大写):表示将结果按照内存(MEM)从高到低进行降序排列

问题:当我们查看完系统状态,需要做什么?

答:退出,使用q,按键盘上的q,就会回到#提示符的状态。

free查看内存使用情况

基本语法:

# free [选项]  1GB = 1024MB  1MB = 1024KB
选项说明:
-m : 以MB的形式显示内存大小

案例:显示计算机的内存使用情况

# free -m

和Centos6相比,buffer和cached被合成一组,加入了一个available。

? 关于此available,即系统可用内存,用户不需要去计算buffer/cache,即可以看到还有多少内存可用,更加简单直观

df查看磁盘剩余空间:

基本语法:

# df [选项]
-h :以较高的可读性显示磁盘剩余空间大小

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

ps查看系统进程信息:

top : 动态查看系统进程的信息(每隔3s切换一次)

ps : 静态查看系统进程的信息(只能查询运行ps命令瞬间,系统的进程信息)
基本语法:

# ps [选项]
选项说明:
-e : 等价于“-A”,表示列出全部(all)的进程
-f : 表示full,显示全部的列(显示全字段)

案例:显示当前系统中所有进程的信息

# ps -ef

在这里插入图片描述
在这里插入图片描述
基本语法:

用法:ps -ef |grep 想要看到的进程名
示例代码:
# ps -ef |grep crond
含义:查看crond进程的详细情况
注意:查询结果中,如果只有一条则表示没查到对应的进程(这1 条表示刚才ps 指令的自身)。只有查到的结果多余1 条,才表示有对应的进程。

案例:查询crond的进程信息:

# ps -ef |grep crond
root       7102      1  0 Mar23 ?        00:00:04 /usr/sbin/crond -n
root      24752  12881  0 16:34 pts/2    00:00:00 grep --color=auto crond

问题:以上信息只有第一行是crond的进程,第二行,实际是管道命令发起时,grep所启动的进程,如何去掉?

 ps -ef |grep crond |grep -v "grep"
root       7102      1  0 Mar23 ?        00:00:04 /usr/sbin/crond -n

grep -v 需要去除的相关信息 : 去除包含指定关键词的那一行

扩展:ps aux命令
USER:该 process 属于哪个使用者账号
PID :该 process 的ID
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令

netstat/ss查询网络访问信息

基本语法:

# netstat [选项] |grep 进程名称
选项说明:
-t:表示只列出tcp 协议的连接(tcp协议与udp协议)
-n:表示将地址从字母组合转化成ip 地址,将协议转化成端口号来显示  10.1.1.10:80
-l:表示过滤出"state(状态)"列中其值为LISTEN(监听)的连接
-p:表示显示发起连接的进程pid 和进程名称

案例:查询Web Server(httpd)服务的端口信息

# netstat -tnlp |grep httpd

基本语法:

# ss -naltp |grep 进程名称

案例:查询sshd服务的端口信息

# ss -naltp |grep sshd

netstat与ss区别?① netstat信息比较简洁,ss更加丰富 ② ss执行效率比netstat略高一些
在这里插入图片描述

kill/killall杀死进程:

根据pid杀掉进程:

命令:kill
语法:kill [信号] PID
作用:kill 命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的 PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作

经验:kill经常结合ps命令一起使用

kill命令用于杀死某个进程,这其实只是其一个功能。kill命令的实质是向进程发送信号

信号种类:

在这里插入图片描述

根据进程名称杀掉进程:

基本语法:

# killall [信号编号] 进程名称

案例:使用killall命令杀死crond进程

# killall crond
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-21 19:18:51  更:2022-05-21 19:19:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:28:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码