定期重启程序

说明:

相当于一个定时器,过固定的10天时间将程序重启

// kill.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <windows.h>
#include <shellapi.h>
#include <time.h>

// 定义10天的时间秒数
#define TEN_DAY (10*24*60*60)

// 定义要定期调用执行的程序,这里是bat文件
const char* DestTop = "C:\\Documents and Settings\\Administrator\\桌面\\start.bat";
//const char * DestTop = "C:\\Users\\zhu\\Desktop\\star.bat";

int _tmain(int argc, _TCHAR* argv[])
{
    while(1)
    {
        SYSTEMTIME m_time;
        GetLocalTime(&m_time);
        int h=m_time.wHour;
        int m=m_time.wMinute;
        int s=m_time.wSecond;
        printf("%.2d:%.2d:%.2d\n",h,m,s);
        // 调用ShellExecuteA函数启动目标程序,SW_HIDE参数表示静默启动,不显示命令框
        HINSTANCE hNewExe = ShellExecuteA(NULL, "open", DestTop, NULL, NULL, SW_HIDE);
        // 返回值小于等于32表示打开失败
        if ((int)hNewExe <= 32)
        {
            printf("打开失败!\n");
            break;
        }

        printf("Open start.bat Success!\n");
        printf("From now Sleep 10 days...\n");
        //开始等待10天
        Sleep(TEN_DAY*1000 - (h*60*60+m*60+s)*1000 );

        //10天后关掉相关进程
        system("taskkill /im position_machine.exe");
        printf("Kill position_machine.exe OK!\n");
        Sleep(1000);
        system("taskkill /im SSF_AIR.exe");
        printf("Kill SSF_AIR.exe OK!\n");
        Sleep(1000);
        system("taskkill /im java.exe");
        printf("Kill java.exe OK!\n");
        Sleep(1000);
        system("taskkill /im cmd.exe");
        printf("Kill cmd.exe OK!\n");

        Sleep(10000);
    }
    return 0;

}
时间: 2024-11-24 19:15:19

定期重启程序的相关文章

linux用于后台监控指定程序运行状况的脚本(如果程序死了则重启程序)

#!/bin/sh while true do ps | grep "main_3g" | grep -v "grep" > /dev/null if [ "$?" -ne 0 ] then ls /root/main_3g > /dev/null if [ "$?" -eq 0 ] then chmod 777 /root/main_3g /root/main_3g & echo "main_3

黄聪:C#使用Application.Restart重启程序出错解决办法

调用 Application.Restart重启程序出错 解决办法,就是给程序的.exe文件,加上下面的设置 原文地址:https://www.cnblogs.com/huangcong/p/9267725.html

android 中处理崩溃异常并重启程序

有时候由于测试不充分或者程序潜在的问题而导致程序异常崩溃,这个是令人无法接受的,在Android中怎样捕获程序的异常崩溃,然后进行一些必要的处理或重新启动 应用这个问题困恼了我很久,今天终于解决了该问题,写篇文章记录一下. 首先捕获程序崩溃的异常就必须了解一下Java中UncaughtExceptionHandler这个接口,android沿用了此接口,在android API中: 通过实现此接口,能够处理线程被一个无法捕捉的异常所终止的情况.如上所述的情况,handler将会报告线程终止和不明

数据库备份定期删除程序的开发。

第一.最近客户的服务器数据库备份每天都在进行,随着数据量的不断的增加,备份也在不断的进行变大. 第二.于是一些问题就出现了客户的服务器的磁盘的空间有限,定期数据库备份文件太大而导致无法进行保存问题. 第三.从而导致了服务器宕机以及服务器中一些应用程序以及网站无法使用等等. 第四.所以需要进行解决这个问题就需要开发一个应用程序进行定期的删除数据库的备份以及其他的文件. 第五.在进行删除数据库的备份的时候需要注意是的删除设置的几天前的数据库备份,其他最新的数据库的备份的文件不要删除. 第六:可以应用

定期重启SSRS 服务

SSRS 在执行了一段时间之后会变得非常卡,遇到好几次内存暴涨,CPU100%的情况. 但是在查询了一通以后发现,这个时间没有人在运行报告,不知道是哪里有问题,没有回收... 所以决定定期在晚上没有不繁忙的时候重启SSRS服务. 首先编写批处理脚本: net stop reportserver和net start reportserver是停止和启动的脚本. echo on set /a month=%date:~4,2% set /a day=%date:~7,2% set /a year=%

Jboss添加Windows服务,同时定期重启

一.添加成Windows服务 进入目录 \wildfly-9.0.2s - All\bin\service\ 编辑 service.bat,修改一下参数 set SHORTNAME=SAMEXAppServer  --服务名 set DISPLAYNAME="SAMEXAppServer" set DESCRIPTION="SAMEX Wildfly Application Server" SET JAVA_HOME=D:\Java\jdk1.7.0_51 右击 w

从IIS定期重启服务开始

起因 手上的项目是.NET 做的,运行在Windows服务器的IIS上.消息推送的时候有利用WebSocket像客户端推送消息,由于IIS定时会重新服务回收资源,会导致WebScoket服务重启,期间一些消息会收到影响.暂时的解决方案可以使用定时计划在非高峰期回收资源(可以参考:https://www.cnblogs.com/Fishwood/p/3602041.html) 前端突然问我:为什么IIS会回收资源?我查了下资料说是为了保持系统的稳定性,但还是不甚理解. 原因 晚上看nginx服务器

winform重启程序

在程序里需要退出当前winform程序,并重新启动,刚开始用了application.restart()方法,但是会出现错误“引发的异常:“System.Deployment.Application.InvalidDeploymentException”(位于 System.Deployment.dll 中)”,虽然不影响程序正常运行,但是看了也非常不舒服. 于是在网上搜索结局办法,通过使用下面的代码可以实现程序重启功能并且不会报错. Application.ExitThread();     

Winform读写App.config文件以及重启程序

//重启主程序 //System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location); #region 读存app.config字段值 public static string GetConfigValue(string appKey) { XmlDocument xDoc = new XmlDocument(); try { //缓存路径 xDoc.Load(System.W