相信用过Linux的童鞋们都用过crontab来做定时任务,不需要额外的安装程序和配置,一条简单的语句搞定定时任务,但是小伙伴们发现了没,如果你的定时任务执行频率很高而且会产生大量的输出的话,你的老爷机就会逐渐衰弱,最终崩溃,吼吼,因为任务执行过程中产生的输出已经把你的内存吃光了。

  怎么办呢?

  Linux中有个目录叫做“dev”,这个词是“device”的缩写,意思为“设备”,这个目录中包含所有Linux系统中使用的外部设备,我们都知道,Linux中设备都是被当作文件对待的,所以这个目录下面都是一些个文件,每个文件实际上就是一个设备接入的一个端口,通过查阅相关资料了解到这些文件名所代表的含义如下:

 文件  说明
/dev/hd[a-t] IDE设备
/dev/sd[a-z] SCSI设备
/dev/fd[0-7] 标准软驱
/dev/md[0-31] 软raid设备
/dev/loop[0-7] 本地回环设备
/dev/ram[0-15] 内存
/dev/null 无限数据接收设备,相当于黑洞
/dev/zero 无限零资源
/dev/tty[0-63] 虚拟终端
/dev/ttyS[0-3] 串口
/dev/lp[0-3] 并口
/dev/console 控制台
/dev/fb[0-31] framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]
/dev/random 随机数设备
/dev/urandom 随机数设备

  别的都比较简单啦,有意思的是/dev/null和/dev/zero这两个,/dev/null是一个无底洞,任何输入都会被直接抛弃,而/dev/zero可以不断的产生空字符,可以用来产生具有特定大小的空文件。

  我们需要用到的就是/dev/null这个家伙,把计划任务产生的所有输出都丢到这个东东里面,如下

程序 > /dev/null

  但是千万注意了哦,这个只是把标准输出放入无底洞,如果程序执行过程中输出错误信息还是会在内存里到处扔的,那怎么办呢?

  补习定向输出相关知识:

    >和>>都是重定向输出
    1> 指标准信息输出路径(也就是默认的输出方式)
    2> 指错误信息输出路径
    2>&1 指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)

  所以知道该怎么办了吧!

程序 > /dev/null  > &

  另外,在使用crontab的时候经常有这么个诡异问题:脚本写完测试运行好好的,但是加入到计划任务就抽风了。

  其实通常这都是由于crontab执行的时候没有引入环境变量引起的,要在脚本的上面(最好是第二行)引入环境变量哦~~

  在crontab调用的脚本中写上如下语句来代入环境变量:

. /etc/profile
. /home/用户名/.profile #有时候是下面这个
. /home/用户名/.bash_profile

         本文章系受著作权法保护,未经著作人同意,不得盗用;使用或引用本文章内容请注明作者名、原地址:书中叶http://www.cnblogs.com/libook

将垃圾送入无底洞,顺便整理dev知识的更多相关文章

  1. .NET 垃圾回收机制要点整理

    1. .NET资源分托管资源和非托管资源,对于托管资源,.NET GC可以很好的回收无用的垃圾,而对于非托管(例如文件访问,网络访问等)需要手动清理垃圾(显式释放). 2. 非托管资源的释放,.NET ...

  2. JavaScript杂谈(顺便也当知识积累)

    JavaScript版本 JavaScript的普及使得其于1997年正式成为国际标准,其官方名称为ECMAScript 1999年定稿第三版ECMAScript标准,简称ES3 2009年重大改进的 ...

  3. Java虚拟机—垃圾回收算法(整理版)

    1.概述 由于垃圾收集算法的实现涉及大量的程序细节.因此本节不打算过多地讨论算法的实现,只是介绍几种算法的思想及其发展过程.主要涉及的算法有标记-清除算法.复制算法.标记-整理算法.分代收集算法. 2 ...

  4. WinForm&&DEV知识小结

    -------------------------------------------------------------------------------- 1.父窗体Form1中调用子窗体For ...

  5. JS闭包、作用域链、垃圾回收、内存泄露相关知识小结

    补充: 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 闭包的三个特性: 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数和变 ...

  6. maven学习整理-进阶知识

    在maven的阶知识主要学习的是maven在eclipse中的使用.依赖相关的问题.继承(父子工程).统一版本管理.聚合等相关知识 1.maven在eclipse中的使用 由上篇基础知识学习到怎样下载 ...

  7. 整理QTP知识之1

    以下说明由网络其他文章整合而成. 一.关于QTP的说明 QTP是目前市场上占有率最高的一款自动化测试工具,也是每一位测试工作者最想掌握的工具之一,也是目前流行的基于GUI的功能自动化测试工具之一. Q ...

  8. java web dev知识积累

    tomcat体系结构 可以从tomcat的server.xml文件中元素的层次结构来理解tomcat的体系结构: Server(可以视为tomcat本身)->经由connector可以有多个(c ...

  9. 最近公司遇到了APR攻击,顺便了解一下知识

    原因及背景 最近公司遇到了APR攻击导致整个公司研发部.测试部.客服部.工程部等几个部门统一无法上网,TV(team viewer)无法使用,部署在公网的B/S架构系统系统无法访问,开发代码上传和下载 ...

随机推荐

  1. AngularJs+bootstrap搭载前台框架——准备工作

    1.关于什么是AngularJs以及什么是bootstrap我就不多说了,简单说下,AngularJs是一个比较强大前台MVC框架,bootstrap是Twitter推出的一个用于前端开发的开源工具包 ...

  2. Android 软键盘弹出时把布局顶上去,控件乱套解决方法

    解决办法:方法一:在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.Layo ...

  3. 【用户分析-用户场景】这TM才是产品思维!

    @奶牛Denny :很长一段时间里,市场推广/营销(Marketing)在中国似乎是一个大家很忌讳的词汇.市场推广无非就是夸大包装,炒作一下,卖卖情怀——很多人都是这么觉得的,因为确实有一部分急功近利 ...

  4. Highgui.imwrite("/data/pic1111.png", mat)失败,且找不到报错

    ——> Highgui.imwrite("/data/pic1111.png", mat)失败,且找不到报错. ok -->直接使用以下代码,自己保存mat,从而可以跟 ...

  5. 【USACO】Transformations

    A square pattern of size N x N (1 <= N <= 10) black and white square tiles is transformed into ...

  6. Java实现图片压缩代码,图片大小转换

    在很多项目中我们会把上传的图片做处理,比较图片上传过多对服务器的容量和带宽有很多的浪费,如果不是必须的高清图片,我们可以通过代码来做压缩.在我的项目中我们压缩图片的目的是让web页面打开的速度很快,并 ...

  7. AOJ - 0009 Prime Number (素数筛法) && AOJ - 0005 (求最大公约数和最小公倍数)

    http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34870 求n内的素数个数. /* ********************* ...

  8. 细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4

    1. Unicode与ISO 10646 全世界很多个国家都在为自己的文字编码,并且互不想通,不同的语言字符编码值相同却代表不同的符号(例如:韩文编码EUC-KR中“한국어”的编码值正好是汉字编码GB ...

  9. 第7篇 ORACLE EBS DEMO虚拟机环境的安装

    ERP信息系统的实施不仅要求懂得道理方面的知识,更要侧重于应用实践.为了有一个稳定的测试环境.初学者可以自己搭建一个EBS DEMO环境.本节介绍EBS DEMO环境虚拟机的安装.一. 安装前的准备( ...

  10. 【转载】关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation

    原文在: https://yq.aliyun.com/articles/40353 这里有转载:http://www.cnblogs.com/zhao1949/p/5652167.html 先来一段S ...