cron  系统调度进程,使用它在每天的某时间或一周、一月的不同时间运行

at  使用它在一个特点的时间允许一些特殊的作业

&  使用它在后台允许一个占用时间不长的进程

Nohup  使用它在后台运行一个命令,即使在用户退出时也不受影响

1,每一个用户都可以有自己的crontab文件,但是在较大系统中,管理员一般会禁止这些文件,在整个系统中只保留一下这样的文件,系统管理员通过cron.deny和cron.allow这两个文件来禁止和运行用户有自己的crontab文件

2,crontab格式    * * * * * commond

  分(1-59) 时(1-23) 日(1-31) 月(1-12) 星期(0-6,0表示周日) command

  在这些域中,可以用 - 来表示时间范围(1-5 周一到周五),使用 , 来表示和(1,4表示周一和周四),使用 * 表示连续的时间,该文件每一个条目必须包含5个时间域,且每个域之间使用空格分隔,所有注释在行首使用#

  30 21 * * * /apps/bin/cleanup.sh  每晚21:30执行指定目录下文件

  45 4 1,10 * * * /apps/bin/cleanup.sh  每月1,10日执行指定目录下文件

  10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;  每周六日1:10运行一个find命令

  0,30 18-23 * * * /apps/bin/dbcheck.sh  每天18:00到23:00直接每隔30分钟运行指定目录文件

3,crontab命令形式:crontab [-u user] -e -l -r

  -u  用户名,如果使用自己的名字登录,则不需要使用-u

  -e  编辑crontab文件

  -l  列出crontab文件中的内容

  -r   删除crontab文件

4,在考虑向cron进程提交一个crontab文件之前,首先要设置环境编辑EDITOR,cron进程根据它来确定使用哪个编辑器来编辑crontab文件,如果使用vi,则编辑$HOME目录下.profile文件,在其中加入一行

  EDITOR=vi;export EDITOR

然后保存退出

  crontab -e 编辑

  crontab -l 列出crontab文件内容

  crontab -r 删除crontab文件

5,at命令允许用户向cron守护进程提交作业,使其在稍后的时间运行。管理员可以通过/etc目录下的at.allow和at.deny来控制哪些用户可以使用at命令,哪些不可以。

  命令形式:at [-f script] [-m -l -r] [time] [date]

  -f script 是所以提交的脚本或命令

  -l 列出 当前所有等待运行的作业

  -r 清除作业

  -m 作业完成后给用户发邮件

  time at的命令格式非常灵活,可以是H HH HHMM HH:MM H:M  H是小时,M是分钟,还可以使用a.m p.m

  date 日期格式,可以是月份或日期,而且at还识别today,tomorrow等词

6,at提交若干行命令,在at命令后跟上日期/时间并回车,进入at命令提示符,然后就可以逐条输入命令,最后按CTRL+D退出

7,清除作业命令:atrm [job no] 或者 at -r [job no]

  要清除某个作业,需要先执行at -l 命令,以获取相应的作业标识,然后对它执行 at -r 命令,清除该作业

  

8,后台执行命令:&

  命令格式:commod &

  作业后台运行一样会将结果输出到屏幕,所以需要重定向到某个文件 command >out.file 2>&1 &

9,可以使用ps查询系统的进程,但是不能确定是运行在前台还是后台

  ps -ef|grep 28305 或者 ps x|grep 2888  查询指定进程号的进程

10,使用kill 杀死进程 ,命令格式 kill -signal [process_number]

  kill 28305或者kill -9 28305

11,使用nohup命令,使账户退出时,进程继续运行。

  命令格式 nohup command &

  如果使用了nohup命令提交作业,那么在缺省情况下,该作业的所有输出都被重定向到了nohup.out文件中,出发另外值得了输出文件。例如 nohup comman > myout.file 2>&1

  

  

shell学习笔记3-后台执行命令的更多相关文章

  1. Shell学习笔记:<<EOF子命令

    在shell编程中,“EOF”通常与“<<”结合使用,“<<EOF”表示后续的输入作为子命令或子shell的输入,直到遇到“EOF”,再次返回到主调用shell,可将其理解为分 ...

  2. shell 后台执行命令

    shell 后台执行命令方法: 1. nohup cmd &          后台会生成 nohup.out 文件 2.cmd >/路径/xx.log &   后台生成 xx. ...

  3. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

  4. [转帖][Bash Shell] Shell学习笔记

    [Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...

  5. shell学习笔记汇总

    1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...

  6. Hadoop源码学习笔记(6)——从ls命令一路解剖

    Hadoop源码学习笔记(6) ——从ls命令一路解剖 Hadoop几个模块的程序我们大致有了点了解,现在我们得细看一下这个程序是如何处理命令的. 我们就从原头开始,然后一步步追查. 我们先选中ls命 ...

  7. SHELL学习笔记三

    SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...

  8. SHELL学习笔记----IF条件判断,判断条件

    SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外.  if list then           do something here   ...

  9. MySQL学习笔记-数据库后台线程

    数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...

随机推荐

  1. swoole组件----mysql查询,插入数据

    注意!任何swoole函数都应该包含在go(function(){}) 经典查询方法query() go(function (){ $swoole_mysql = new Swoole\Corouti ...

  2. [cf1138BCircus][枚举,列等式]

    https://codeforc.es/contest/1138/problem/B B. Circus time limit per test 1 second memory limit per t ...

  3. harbor1.9.0 仓库的搭建

    配置及文中的xxx 为你自己的配置信息   1.创建目录   mkdir -p /data/soft cd /data/soft   2.安装docker-composer     2.1官方安装 c ...

  4. django post请求 403错误解决方法

    --摘 第一次用Django做项目,遇到了很多问题. 今天遇到的问题是Django在处理post请求时多次出现403错误. 我先描述一下问题出现的环境:我用Django写了一个web服务端,姑且称它为 ...

  5. Codeforces Round #429 (Div. 2/Div. 1) [ A/_. Generous Kefa ] [ B/_. Godsend ] [ C/A. Leha and Function ] [ D/B. Leha and another game about graph ] [ E/C. On the Bench ] [ _/D. Destiny ]

    PROBLEM A/_ - Generous Kefa 题 OvO http://codeforces.com/contest/841/problem/A cf 841a 解 只要不存在某个字母,它的 ...

  6. 2 使用unitest 模块扩展功能测试

    准备做一个 待办事项清单网站,来演示 Web 开发过程中的所有主要步骤.以及如何在各个步骤中运用TDD理念. ”功能测试“: 从用户的角度查看应用是如何运作的. 从某种程度上可以作为应用的说明书. 作 ...

  7. 010_Linux驱动之_DECLARE_WAIT_QUEUE_HEAD函数

    1. 功能:创建以个等待队列头 2. 函数原型 #define DECLARE_WAIT_QUEUE_HEAD (name)                            /     wait ...

  8. bzoj4400

    /* * 此题同bzoj2725 * 增加了枚举边的操作 */ #include <bits/stdc++.h> ;// oo = 999999999; #define LL long l ...

  9. spring事物不回滚的问题

    学习spring分布式事务的时候,自己整了个demo,写test测试的时候发先事物没有回滚.此问题和分布式事务没关系.1.在service层引入@Transaction注解 使用 throw new ...

  10. MyBatis错误:The server time zone value '?泄???????' is unrecognized or represents more t

    原文地址:http://blog.csdn.net/oppo5630/article/details/52162783 解决java.sql.SQLException: The server time ...