开发工具:
文件大小: 372kb
下载次数: 0
上传时间: 2020-10-27
详细说明:主要功能: 1.读取配置文件程序 2.启动进程 3.监控进程,查看进程是否退出或者崩溃 4.若进程退出或者崩溃,重启程序。 5.支持sleep功能 6.进程若连续崩溃NUM_MAX次就进行相应的睡眠周期struct proc_struct proc:
struct proc_ struct [mp:
if(array)
return 0
∥切换到目录rse
chdirldiri
ifdp= opendir(dir}=NuLL}开日录/proc,矢败返回0,成功把描述指针返回给d
return o
〃将φpro文件夹的描述符指针传递给reεddir,读取文件夹内容,循环赋值给结构体di
while ((dirp= readdir(dp))= NULLY
char data 301
∥取文件名称赋值给数组daa(其中包含有进程的名称(pid
sprintf(data, "s", dirp->d_name);
∥是否是由字符09组成的字符串,即得到所有进程的pid
f((IsDigit(data))
prac =(struct proc_struct )4 malloc(sizeof(struct proc_struct)
tmp proc:
prac->pid =a: oi(dirp->d_name):
It(proc tind( proc. array))
free( tmp);
closedir(dp
cturn
proc_find
两个参数分别是两个进程描述的结构体指针
李比较两个进程pd是否相等
李*相等返回1,不相等返回0
幸率球事容球家草事家事球峰率享事球摩率球享享溶事*事卷寒球套事塞容寒/
int proc find( struct prcc_struct* src, struct proc- struct* dest)
char buffer[40%6]. ps cmd[20]
It fd. I
sprintf(buffer, "ed/star", sre->pid);
fd = open(butter, O_RDONLY)
if(fd==-1)
rerurn 0
memset(buffer, wO, sizeof(buffer))
len= read(fd, bufter, sizeof(bufter )-1)
close(ld)
if(l
return 0:
p= butter:
p= strrchr(p, C)
narq=strrchr(p, ))
n=q-p-1
if (len >= sizeof, srt->name))
len= sizeof(src->name)-1
p+ l, len
src->namelen]=0;
=日
turn(strcmp( src->name, dest
dest->name)==0)? 1: 0-
条善参数aay:让程结构体指针;参数sie进程列表数组aray的大小ie:配置文件路径
从配置文件得到指定的程序列表,将对应进程的信息填充到aray数组中
羋执行成功返回进程个数,执行失败返回0
int get_ proc( struct proc_struct array, int size, char file
intnRet=o
if(! array I‖(si
0)l‖fhle
myprinttf"invalid parameterin
retun o
char line[4096];
FILE fp= fopen(file, T");
if(fp)
printf("open file cs fail\n", file)
return U
memset(line, 0, 4095);
while(fgets(lire, 4095, tp)&& nRet size)
memcpy(void s)[(&arraylnRet )->cmdline), (void")line, strlen(line)-2 )
tmp= strrchr(line, / )
Lmp += I:
memcpy((&array inRet))->name, tmp, strlen(tmp)- 2)
nRet++
);
return(nReL);
康棒串串浓凉率旅浓串底率卖毒志着旅浓浓准溶房表
装 startProc
*卷参数proc:要启动的进的结构体描述指针
启动程序
执行成功返回1,子进程退出
宗塞家康家家家家家家家家宋家家聚家苯家球察塞家塞家家容家塞家家家家室家家察家家家聚家聚寒撑家
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.