• crond守护进程实现定时监控某进程占有内存的大小


    1)添加计划任务

    crontab -e会使用某个编辑器打开某个文件,然后在内输入需要执行的计划任务,保存后在/var/spool/cron/crontabs/下会出现以用户名命名的文件

    2)计划任务如何添加

    该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
        每个域之间使用空格或者制表符分隔。格式如下: 
      minute hour day-of-month month-of-year day-of-week commands 

      除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

    几个例子: 
    每天早上6点 
    0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

    每两个小时 
    0 */2 * * * echo "Have a break now." >> /tmp/test.txt  

    晚上11点到早上8点之间每两个小时和早上八点 
    0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt

    每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 
    0 11 4 * 1-3 command line

    1月1日早上4点 
    0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/ 

    每小时执行/etc/cron.hourly内的脚本
    01 * * * * root run-parts /etc/cron.hourly
    每天执行/etc/cron.daily内的脚本
    02 4 * * * root run-parts /etc/cron.daily 

    每星期执行/etc/cron.weekly内的脚本
    22 4 * * 0 root run-parts /etc/cron.weekly 

    每月去执行/etc/cron.monthly内的脚本 
    42 4 1 * * root run-parts /etc/cron.monthly 

    注意: "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。

    3)问题:在嵌入式开发中,发现嵌入式Linux系统内输入crontab -e发生报错

    crontab: chdir(/var/spool/cron/crontabs): No such file or directory

    解决方法:

    mkdir -p /var/spool/cron/crontabs

    由于/var文件夹是内核的虚拟文件夹,重启后改动全部消失,那么可以通过自启动脚本实现

    mkdir -p /var/spool/cron/crontabs
    cp /root/root /var/spool/cron/crontabs
    
    chmod 777 /var/spool/cron/crontabs/root
    crond

     其中由于是在登录前执行,所以不能使用‘~’

    4)查看进程占用内存

    crond进程定时启动某个脚本实现,脚本如下

    PID=`ps |grep XXX|sed -n 1p|awk '{print $1}'`
    free >> $FILE
    cat /proc/$PID/status |grep VmSize >> $FILE

    可以根据自己的内核打印情况自行修改

     所有参考的文章以及网址

    crontab相关:

    linux下添加定时任务

    嵌入式Linux下使用BusyBox的crond服务的方法

    使用busybox的crond服务

    Linux crontab定时任务配置方法(详解)

    查看进程相关

    http://bbs.csdn.net/topics/360001628(二楼最有用)

    Linux下查看某一个程序运行所占用的内存

    精确度量Linux下进程占用多少内存的方法

    少壮不识cpp,老大方知cpp可怕
  • 相关阅读:
    网易云课堂Dubbo学习笔记
    Java的native方法
    java中三种for循环之间的对比
    java中的匿名内部类小结
    三重DEC加密在java中的实现
    CoreException: Could not get the value for parameter compilerId for plugin execution default-compile Maven项目pom文件报错,插件引用不到
    安装plsql developer
    Eclipse安装插件的“最好方法”:dropins文件夹的妙用
    linux项目部署常用命令
    Linux学习笔记
  • 原文地址:https://www.cnblogs.com/Jacket-K/p/7922629.html
Copyright © 2020-2023  润新知