VC做一个监控进程,该进程需要定时获取被监控的进程的状态,如果被监控的进程关闭了,就重新启动之
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC做一个监控进程,该进程需要定时获取被监控的进程的状态,如果被监控的进程关闭了,就重新启动之相关的知识,希望对你有一定的参考价值。
可以手动输入进程的名字,然后添加需要监控的进程,一旦添加的进程关闭了,能自动启动它。
目前可以把所有进程枚举出来,就是不知道怎么添加,求指导,谢谢
原型:
int WINAPI icePub_getProcessPathByName(char *strProcessName,char *strPath)
输入:strProcessName 进程名
输出:strPath 进程带路径文件名
原型:
int WINAPI icePub_getProcessPathByPid(int pid,char *strPath)
输入:pid 进程PID
输出:strPath 进程带路径文件名
这两个函数能得到进程的带路径的文件名,你
icePub_open(strPath);
即可
原型:
int WINAPI icePub_open(char *strPath)
输入:strPath 待打开(运行)文件名或链接或文件夹
输出:
下边参考资料里有文档下载
参考资料:http://zhidao.baidu.com/question/278084529.html
参考技术A 没分怎会有人上钩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相关:
查看进程相关
http://bbs.csdn.net/topics/360001628(二楼最有用)
以上是关于VC做一个监控进程,该进程需要定时获取被监控的进程的状态,如果被监控的进程关闭了,就重新启动之的主要内容,如果未能解决你的问题,请参考以下文章