int main()
{
static int nCount = 0;
pid_t pid;
int ret = -1, status;
//初始化记录崩溃的次数
RecordKilledTimes( nCount );
while(1)
{
pid = fork();
if (pid == -1)
{
printf( "fork() error.errno:%d error:%s", errno, strerror(errno) );
}
if (pid == 0)
{
ret = execv(APP_PATH, NULL); /APP_PATH 这个是你 要重启的app路径
if (ret < 0)
{
fprintf(stderr, "execv ret:%d errno:%d error:%s<strong>n</strong>", ret, errno, strerror(errno));
printf( "fork() error.errno:%d error:%s", errno, strerror(errno) );
continue;
}
exit(0);
}
if (pid > 0)
{
pid = wait(&status);
RecordKilledTimes( ++nCount ); //记录崩溃的次数
printf( "wait return\n" );
}
}
return 0;
}