Linux进程管理(第二版) --计划任务

简介: 计划任务一、一次性计划任务at命令 #功能:安排一个/几个命令在指定时间(时刻)运行一次1、at的命令格式及参数  at [-f 文件名] 时间 at -d 或者 atrm 删除队...

计划任务

一、一次性计划任务

at命令 #功能:安排一个/几个命令在指定时间(时刻)运行一次

1at的命令格式及参数 

at [-f 文件名时间

at -d 或者 atrm 删除队列中的任务

at生成的文件保存在/var/spool/at目录下】 

at -l  或者 atq 查看队列中的任务

 

2at指定时间的方式

      绝对计时方法[推荐]

合法时间:midnight noon teatime 

hh:mm [today] 

hh:mm tomorrow 

hh:mm 星期 

hh:mm MM/DD/YY[推荐] 【DD.MM.YY  YYMMDD

 

     相对计时方法 

now + n minutes 

now + n hours 

now + n days

 

【示例】

指定在今天下午 17:30 执行某命令(假设现在时间是下午14:30,2011111

at 5:30pm 

at 17:30 [today] #today可省略 

at now + 3 hours 

at now + 180 minutes 

at 17:30 11.1.11 

at 17:30 1/11/11 

 

3at使用范例

I.交互方式

at 900

II.使用脚本文件方式

1、生成at.script文件

2、使用at命令

at -f at.script 9:00 1/11/11 或者 at < at.script 9:00

 

附 -at计划任务文件保存在/var/spool/at/目录下

附-finger [+username] :可查看系统中的计划任务

如果at尚未启动,则用:/etc/rc.d/init.d/atd start 或 service atd start 手工启动

 

4at的执行结果与配置文件

如果/etc/at.allow文件存在,那么只有列在此文件中的用户才可以使用at命令;/etc/at.allow文件不存在,则检查/etc/at.deny 文件是否存在。若/etc/at.deny存在,则在此文件中列出的用户都不能使用at命令。如果两个文件都不存在,则只有超级用户可以使用at命令。如果两个文件都存在而且均为空,则所有用户都可以使用at命令。 

 

batch命令【不常用】

1、作用:安排一个或多个命令在系统负载较轻时运行一次(一般情况下负载较轻指平 均负载降到0.8以下)。 

2、使用方法同at,几乎一模一样,一般是事务不太重要时使用该命令

Man解释: batch   executes commands when system load levels permit; in other words, when the load average drops below 0.8, or the value specified[规定的] in the  invocation[祈祷] of atd.

 

 

二、周期性计划任务

crontab 命令

1、作用用于生成cron进程所需要的crontab文件

 

2、格式:crontab {-l|-r|-e} 

-l  显示当前的crontab 内容

-r 删除当前的crontab【全部清除,并不建议用】 

-e 使用编辑器编辑当前的crontab文件。

 

3crontab文件格式 

minute hour day-of-month month-of-year day-of-week commands 

分钟小时 天 月 星期几 命令/脚本

 

Minute 一小时中的哪一分钟[0~59] 

hour  一天中的哪个小时 [0~23] 24小时制】

day-of-month  一月中的哪一天 [1~31] 

month-of-year  一年中的哪一月 [1~12] 

day-of-week  一周中的哪一天 [0~6] 

commands  执行的命令

【分钟:*/2 :每隔两分钟】

【小时:*/1:每隔一个小时 12-14 :12点到14点】

 

把知道的具体的都时间值添上,把不知道的时间值都填*

E.g

*/2 12-14 * 3-6,9-12 1-5 /bin/sh /root/cron.script > /dev/null 2> /root/cron.err

 

 

4、书写注意事项

I. 时间值选都不能为空,必须填入

II. 不知道/不需要制定的项目的值使用统配符*表示任何时间

III.每个时间字段都可以指定多个值,不连续的值用”,”间隔,连续的值用”-”间隔。 

IV. 命令应该给出绝对路径

V. 用户必须具有运行所对应的命令或程序的权限

  VI.计划任务还应保存一些额外的信息,如出错信息等

 

5crontab的配置文件 /etc/crontab

#旧版的Linux最后几行,定义了每小时,每天等的具体时间系统的周期执行任务

 

6cron配置文件

作用:限制哪些用户可以使用crontab命令,作用与at相同

/etc/cron.allow

/etc/cron.deny

 

附-crontab文件建立好后,可以在/var/spool/cron/目录中找到,可以查看文件其中的内容:more /var/spool/cron/root,得到的信息如同crontab -l

 

附-如果crod没有启动,需手动启动:/etc/rc.d/init.d/crond start

三、进程处理方式

1standalone 独立运行,持续驻留系统,消耗系统资源,监听客户请求

2xinetd 进程托管,互联网超级守护进程,xinetd来监听客户请求,并将之发送给相关进程,而不是服务亲自监听

3atdcrond 计划任务,每隔一分钟,从睡眠中醒来并检查是否有需要执行的任务

 

-为了安全起见,定时任务以及后面的Shell脚本,都要写命令的绝对路径!

目录
相关文章
|
27天前
|
资源调度 Linux 调度
Linux c/c++之进程基础
这篇文章主要介绍了Linux下C/C++进程的基本概念、组成、模式、运行和状态,以及如何使用系统调用创建和管理进程。
29 0
|
3月前
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
577 2
|
3月前
|
Linux Python
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
64 2
|
2天前
|
缓存 监控 Linux
linux进程管理万字详解!!!
本文档介绍了Linux系统中进程管理、系统负载监控、内存监控和磁盘监控的基本概念和常用命令。主要内容包括: 1. **进程管理**: - **进程介绍**:程序与进程的关系、进程的生命周期、查看进程号和父进程号的方法。 - **进程监控命令**:`ps`、`pstree`、`pidof`、`top`、`htop`、`lsof`等命令的使用方法和案例。 - **进程管理命令**:控制信号、`kill`、`pkill`、`killall`、前台和后台运行、`screen`、`nohup`等命令的使用方法和案例。
21 4
linux进程管理万字详解!!!
|
2天前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
18 4
|
3天前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
4天前
|
消息中间件 存储 Linux
|
11天前
|
运维 Linux
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
10 1
|
22天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
【10月更文挑战第9天】本文将深入浅出地介绍Linux系统中的进程管理机制,包括进程的概念、状态、调度以及如何在Linux环境下进行进程控制。我们将通过直观的语言和生动的比喻,让读者轻松掌握这一核心概念。文章不仅适合初学者构建基础,也能帮助有经验的用户加深对进程管理的理解。
17 1
|
27天前
|
消息中间件 Linux API
Linux c/c++之IPC进程间通信
这篇文章详细介绍了Linux下C/C++进程间通信(IPC)的三种主要技术:共享内存、消息队列和信号量,包括它们的编程模型、API函数原型、优势与缺点,并通过示例代码展示了它们的创建、使用和管理方法。
23 0
Linux c/c++之IPC进程间通信