进程和计划任务管理(4)

简介: 内核的功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等。1 程序1.1 什么是程序?是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。用于描述进程要完成的功能,是控制进程执行的指令集。保存在硬盘、光盘等介质中的可执行代码和数据。静态保存的代码。

示例:

1)使用具体年月日设置定时任务。

[root@localhost ~]# at 08:00 2022-03-10    //在2022年3月10日8点执行任务
 at> touch /tmp/test/fa.txt                 //设置具体任务,在/tmp/test 目录下创建文件
 at> <EOT>                                  //按ctrl+d 提交任务
 job 5 at Thu Mar 10 08:00:00 2022          //任务已成功设置
 [root@localhost ~]# atq                    //查看at任务列表
 5       Thu Mar 10 08:00:00 2022 a root
复制代码


网络异常,图片无法展示
|


2)使用now+时间,设置任务。

[root@localhost ~]# at now+30min     //在30分钟后执行该任务
 at> cp /etc/passwd /tmp/test         //设置具体任务,将passwd文件复制到/tmp/test目录下
 at> <EOT>                            //按ctrl+d 提交任务
 job 7 at Fri Mar  4 21:20:00 2022    //任务已成功设置
 [root@localhost ~]# atq
 7       Fri Mar  4 21:20:00 2022 a root
复制代码


网络异常,图片无法展示
|


3)HH:MM,在今日的 HH:MM 执行,若该时刻已过,则明天此时执行任务。

[root@localhost ~]# date              //查询当前时间,为3月4日下午9点
 2022年 03月 04日 星期五 21:03:34 CST
 [root@localhost ~]# at 5pm            //在今天下午5点执行
 at> touch /ceshi/1.txt   
 at> <EOT>
 job 11 at Sat Mar  5 17:00:00 2022    //因为今天下午5点已过,所以系统自动改为明天下午5点
复制代码


网络异常,图片无法展示
|


4)atq查询at任务列表,atrm删除at任务。

[root@localhost ~]# atq                   //查询at任务列表,有3个任务
5       Thu Mar 10 08:00:00 2022 a root
7       Fri Mar  4 21:20:00 2022 a root
11      Sat Mar  5 17:00:00 2022 a root
[root@localhost ~]# atrm 11              //删除工作号为11的at任务
[root@localhost ~]# atq                  //查询at任务列表,只剩2个任务
5       Thu Mar 10 08:00:00 2022 a root
7       Fri Mar  4 21:20:00 2022 a root
复制代码


网络异常,图片无法展示
|


8.2 crontab周期性任务设置

8.2.1 crontab命令简介

  • 按照预先设置的时间周期(分钟、小时、天......)重复执行用户指定的命令操作。
  • 属于周期性计划任务。
  • 主要设置文件。
  • 全局配置文件,位于文件:/etc/crontab
  • 系统默认的设置,位于目录:/etc/cron.*/
  • 用户定义的设置,位于文件:/var/spool/cron/用户名

查看/etc/crontab文件:

网络异常,图片无法展示
|


8.2.2 管理crontab计划任务

crontab命令格式:

crontab -e [-u 用户名]      //编辑计划任务
 crontab -l [-u 用户名]      //查看计划任务
 crontab -r [-u 用户名]      //删除计划任务
 #-u选项缺省时默认针对当前用户,只有超级用户才可以使用-u
复制代码


使用 "crontab -e" 进入 crontab 编辑界面。会打开vim编辑你的任务,输入格式为:

* * * * * 需要执行的任务
 #即:时间周期设置 任务内容设置。
 #任务内容设置中,命令一定要用绝对路径,例如cp命令,要用/usr/bin/cp,可以用which查看命令的绝对路径
复制代码


每个星号(*)表示不同的时间概念:

项目 含义 范围
第一个"*" 一小时当中的第几分钟(minute) 0~59
第二个"*" 一天当中的第几小时(hour) 0~23
第三个"*" 一个月当中的第几天(day) 1~31
第四个"*" 一年当中的第几个月(month) 1~12
第五个"*" 一周当中的星期几(week) 0~7(0和7都代表星期日)


时间数值的特殊表示方法:

特殊符号 含义
*(星号) 代表任何时间。比如第一个"*"就代表一小时中每分钟都执行一次的意思。
,(逗号) 代表多个不连续的时间点。比如 "0 8,12,16 * * * 命令" 就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。
-(中杠) 代表连续的时间范围。比如"0 5 * * 1-6 命令",代表在周一到周六的凌晨 5 点 0 分执行命令。
/(正斜线) 代表每隔多久执行一次(即间隔的时间频率)。比如"*/10命令",代表每隔 10 分钟就执行一次命令。


时间示例:

0 17 * * 1-5      //周一到周五每天17:00
 30 8 * * 1,3,5    //每周一、三、五的8:30
 0 8-18/2 * * *    //8点到18点之间每2小时
 0 * */3 * *       //每3天的每个整点
复制代码


应用示例:

1)使用crontab -e 编辑计划任务。每月1日备份文件。

[root@localhost ~]# which cp    //查看cp命令的绝对路径
 alias cp='cp -i'
         /usr/bin/cp
 [root@localhost ~]# crontab -e   //编辑计划任务
 no crontab for root - using an empty one
 crontab: installing new crontab
 [root@localhost ~]# crontab -l    //查看计划任务
 0 4 1 * * /usr/bin/cp /etc/passwd /data01
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


2)每周五8:00~18:00之间,每隔2小时备份一次。

[root@localhost data01]# crontab -e
 crontab: installing new crontab
 [root@localhost data01]# crontab -l
 0 4 1 * * /usr/bin/cp /etc/passwd /data01
 0 8-18/2 * * 5  /usr/bin/cp /etc/group /data01
复制代码


网络异常,图片无法展示
|

8.2.3 crontab注意事项


在书写 crontab 定时任务时,需要注意以下几个事项:

  • 6 个选项都不能为空,必须填写。如果不确定,则使用“*”代表任意时间。
  • crontab 定时任务的最小有效时间是分钟,最大有效时间是月。像 2018 年某时执行、3 点 30 分 30 秒这样的时间都不能被识别。
  • 在定义时间时,日期和星期最好不要在一条定时任务中出现,因为它们都以天为单位,非常容易让管理员混淆。
  • 在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都使用绝对路径。有时使用相对路径的命令会报错。


9 总结


1、查看进程命令

静态查看:ps aux,ps -elf

动态查看:top

查看指定进程:prtstat

以树形结构列出:pstree

列举被打开的文件:lsof

监控系统资源:vmstat、iostat

发现僵尸进程(状态为Z)一定要杀掉。

“cat /proc/PID/status" 可以查看指定进程具体有几个线程。


2、控制进程


  • 后台启动:

命令行尾加”&“符号。

  • 前后台调度:

ctrl+z 挂起当前进程,

jobs查看任务列表

fg 序号,将前台进程调到后台运行。

bg 序号,将后台暂停的进程恢复执行状态。

  • 修改优先级:

nice,启动程序时设置优先级。

renice,修改现有进程的优先级。

  • 杀死进程:

kill [信号] PID

killall 进程名

pkill [信号] [-U 用户名]

pkill [信号] [-t 终端名]


3、计划任务管理

  • at一次性任务设置

at [HH:MM] [yyyy-mm-dd]:设置一次性任务,按ctrl+d 提交任务。

atq :查看at任务。

atrm:删除at任务。

  • crontab周期性任务设置

crontab -e:编辑计划任务。

crontab -l:查看计划任务。

时间格式:分、时、日、月、周几。 可以查看cat /etc/crontab 文件。

*表示任意。

,表示多个不连续的时间点。

-表示连续的时间范围。

/表示频率。

命令要使用绝对路径。

6个选项(时间+任务)都不能为空,必须填写。

相关文章
|
7月前
|
调度 Windows Perl
进程和计划任务管理
进程和计划任务管理
53 0
|
分布式计算 Hadoop
hadoop进程启停管理
hadoop进程启停管理
82 0
|
5月前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
202 1
|
5月前
|
Ubuntu Unix Linux
如何使用 Supervisor 管理你的进程
**Supervisor** 是一款Python编写的进程管理工具,用于类Unix系统,确保应用服务持续运行。常用命令包括:`reload`(重新加载配置)、`status`(查看进程状态)、`shutdown`(关闭所有进程)、`start`和`stop`(控制单个进程)。在CentOS上安装Supervisor用`yum install -y supervisor`,配置文件通常在`/etc/supervisord.conf`。
86 0
|
7月前
|
存储 Java 调度
Java多线程基础-1:通俗简介操作系统之进程的管理与调度
操作系统是一个复杂的软件,具备许多功能。其中,进程的管理与调度是与我们密切相关的。本文将对操作系统功能中进程管理与调度作出介绍。
77 0
|
7月前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
142 2
|
7月前
|
存储 调度
进程的奥德赛:并发世界中的核心概念与动态管理
进程的奥德赛:并发世界中的核心概念与动态管理
79 2
|
7月前
|
存储 Linux 程序员
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
356 0
|
5月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能