精华内容
下载资源
问答
  • 重启 - 任务计划程序 - 创建任务 ... - 触发器——每天3:00 - 操作——启动程序:E:...重启之后自动运行程序 - 任务计划程序 - 创建任务 - 安全选项——不管用户是否登陆都要运行、使用最高权限运行 - 触...

    重启
    - 任务计划程序
    - 创建任务
    - 安全选项——不管用户是否登陆都要运行、使用最高权限运行
    - 触发器——每天3:00
    - 操作——启动程序:E:\Debug\reset.exe,起始于:E:\Debug
    - 其余默认
    - 确定

    重启之后自动运行程序
    - 任务计划程序
    - 创建任务
    - 安全选项——不管用户是否登陆都要运行、使用最高权限运行
    - 触发器——每天3:10
    - 操作——启动程序:E:\Debug\autorun.exe,起始于:E:\Debug
    - 其余默认
    - 确定

    展开全文
  • windows控制台程序自动重启

    千次阅读 2006-10-08 01:37:00
    有时控制台程序由于日志更改或其他原因需要定时重启,在Linux平台有很多工具可以实现,但是windows命令有限,实现起来有些麻烦。最近有个项目需要处理这种情况,搜索了很久,并写了一些代码才解决。程序为java编写,...

    有时控制台程序由于日志更改或其他原因需要定时重启,在Linux平台有很多工具可以实现,但是windows命令有限,实现起来有些麻烦。最近有个项目需要处理这种情况,搜索了很久,并写了一些代码才解决。
    程序为java编写,要重启需要解决两个问题--杀掉java进程和重启启动程序。
    这里还有一个隐含的问题,如果杀掉进程后马上启动新的程序,有的时候会出现两个后果交叉的情况,虽然程序是先调用了杀进程再启动,但是启动的进程又被杀掉了。
    为了避免这种情况出现,在两个操作之间需要延时一会。
    这样,问题就归结为:
    1 杀掉java进程;
    2 延时;
    3 启动新的java进程;

    基本确定的解决方案是:windows计划任务+bat批处理+exe程序
    第一步,杀掉java进程,windows本身只有根据PID杀进程的方法,由于每次程序运行pid是动态的,所以不容易处理。网上有免费的工具pskill,可以根据进程名进行处理,格式:
    pskill 进程名

    第二步,延时,本来打算试用pause,但是他需要人为干预。后来只能自己想办法了。用C++写一个简单的sleep程序,格式:
    sleep 20000
    延时20秒;

    第三步,调用java程序。

    第四步,添加计划任务,调用job.bat。
    注意,如果试用AT命令添加计划任务,程序启动后会在后台运行,如果你要看控制台输出的信息,需要在控制面板里添加计划任务,并且调用java的时候试用start命令控制。

    代码:
    REM job.bat
    pskill java.exe
    runjob.bat


    rem runjob.bat
    rem 延时放在这里的原因就是让java运行以前先等待前面的程序退出以后在执行。
    sleep 20000
    start cmd /c java MyClass

    附件:http://www.sunhat.com.cn/soft/sleep.rar

    http://www.sunhat.com.cn/soft/pskill.rar

     
    展开全文
  • WINDOWS程序监控及故障自动重启思路及bat脚本实现 最近一套老系统运营过程中经常发生程序进程自动关闭,由于系统没有开发人员进行维护,无法通过修改代码实现程序bug处理。因此考虑自己写段脚本进行自动监控及故障...

    @[TOC]WINDOWS程序监控及故障自动重启思路及bat脚本实现

    最近一套老系统运营过程中经常发生程序进程自动关闭,由于系统没有开发人员进行维护,无法通过修改代码实现程序bug处理。因此考虑自己写段脚本进行自动监控及故障自动恢复。

    现象

    有个程序会自动关闭,另外一个程序可能有BUG,这个程序会导致数据库死锁。

    ##处理思路

    1、数据库监控:对数据库写入数据进行监控,对写入记录少于一定量进行异常报出;
    2、对于进程进行监控及重启,查询到没有进程时,直接重启进程。
    3、发现监控数据库时,有时数据库也会因死锁,导致查询不到数据,对查询数据库进行判断,当返回数据库查询异常时重启数据库服务。

    脚本实现

    1、数据库监控(vb脚本)gn2.vbs:

    Function Format_Time(s_Time)
    	Dim y, m, d, h, mi, s
    	Format_Time = ""
    	If IsDate(s_Time) = False Then Exit Function
    		y = cstr(year(s_Time))
    		m = cstr(month(s_Time))
    		If len(m) = 1 Then m = "0" & m
    		d = cstr(day(s_Time))
    		If len(d) = 1 Then d = "0" & d
    		h = cstr(hour(s_Time))
    		If len(h) = 1 Then h = "0" & h
    		mi = cstr(minute(s_Time))
    		If len(mi) = 1 Then mi = "0" & mi
    		s = cstr(second(s_Time))
    		If len(s) = 1 Then s = "0" & s
    	Format_Time = y  & "-" & m & "-" & d & " "  & h & ":"  & mi & ":"  & s
    End Function
    
    '数据库连接字符串
    Dim DBConnStr
    DBConnStr = "PROVIDER=SQLOLEDB;DATA SOURCE=111.111.222.222,1433;UID=sa;PWD=1122aa.0;DATABASE=database"
    
    Dim v_DBRecordSet
    Dim v_DBRecCnt
    Dim v_CheckTime
    
    '计算查询时间 当前时间往前5分钟
    v_CheckTime = DateAdd("n",-5,now())
    v_DBRecCnt = 0
    
    '创建记录集对象
    On Error Resume Next
    Set v_DBRecordSet=CreateObject("ADODB.Recordset")
    If Err.Number Then
    WScript.Echo "Message:" & Err.Description
    WScript.Quit(1)
    End If
    
    '初始化记录集参数
    v_DBRecordSet.CursorType = 0
    v_DBRecordSet.CursorLocation = 2
    v_DBRecordSet.LockType = 1
    v_DBRecordSet.Source = "Select count(*) as CN from RunLog where SysDatetime >'" & Format_Time(v_CheckTime) & "'" 
    
    On Error Resume Next
    v_DBRecordSet.ActiveConnection = DBConnStr
    If Err.Number Then
    WScript.Echo "Message:" & Err.Description
    WScript.Quit(1)
    End If
    
    On Error Resume Next
    v_DBRecordSet.Open()
    If Err.Number Then
    WScript.Echo "Message:" & Err.Description
    WScript.Quit(1)
    End If
    
    On Error Resume Next
    v_DBRecCnt = v_DBRecordSet.Fields("CN")
    If Err.Number Then
    WScript.Echo "Message:" & Err.Description
    WScript.Quit(1)
    End If
    
    '如果等于0,则报警
    if CInt(v_DBRecCnt) >100 Then
                    '关闭记录集
               v_DBRecordSet.Close()
                    Set v_DBRecordSet = Nothing
    	'正常退出
               WScript.Echo "前5分钟存储条数:" & v_DBRecCnt
    	WScript.Quit(0)
    else
                    '关闭记录集
               v_DBRecordSet.Close()
                    Set v_DBRecordSet = Nothing
    	'异常退出
               WScript.Echo "前5分钟存储条数:" & v_DBRecCnt
    	WScript.Quit(1)
    end if
    

    2、监控数据库及重启服务相关脚本(bat脚本):

    setlocal enabledelayedexpansion
    cscript //nologo c:\gn2.vbs
    If ERRORLEVEL 1 (net stop SQLSERVERAGENT
    net stop MSSQLSERVER
    PING 172.18.18.2 -n 2
    net start MSSQLSERVER
    net start SQLSERVERAGENT
    echo %date:~0,10% %time:~0,8% Restart MSSQLSERVER Service >>c:\RESTART_GN.txt ) else goto check_gn_carrunlog
    :check_gn_carrunlog
    set /a carrunlog2data=0
    PING 172.18.18.2 -n 50
    for /f "delims=" %%! in ('cscript //nologo c:\gn2.vbs') do set /a carrunlog2data =%%!
    if "%carrunlog2data%" leq "0" (
    call RESTART_GN.bat)
    
    else exit
    

    3、自动监控进程及重启进程脚本(bat脚本):

    setlocal enabledelayedexpansion
    echo ############################时时监控,请勿关闭!######################### 
    ping 172.18.18.2 -n 10 
    tasklist /nh|find /i "w3wp.exe"  
    If ERRORLEVEL 1 (start C:\web\web通信服务器\w3wp.exe 
    echo %date:~0,10% %time:~0,8% Restart w3wp.exe >>c:\Restart_WEB.txt
     ) else exit
    

    4、通过判断进程是否自动关闭,如果程序bug自动关闭了进程则自动重启进程。

    tasklist|find /i "Center.exe"
    if %errorlevel%==1 (start C:\Center\web\Center.exe) else exit
    

    5、为定期执行以上脚本,原计划通过开机自动执行,但考虑偶尔会有人工重启程序,改为通过WINDOWS 计划任务定期(5分钟或10分钟)调用执行,目前执行效果较好。

    展开全文
  • C++ 自动重启程序

    千次阅读 2014-02-17 22:56:00
    #include <QCoreApplication> #include <QObject> #include <QTimer> #include <QString> #include <iostream>...windows.h> #include <tlhelp32.h> ...
    #include <QCoreApplication>
    #include <QObject>
    #include <QTimer>
    #include <QString>
    #include <iostream>
    #include <windows.h>
    #include <tlhelp32.h>
    
    QString fullname;
    
    void check_and_restart(){
        PROCESSENTRY32 pe32;
        pe32.dwSize = sizeof(pe32);
    
        HANDLE snap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
        if (snap == INVALID_HANDLE_VALUE){
            std::cout << "CreateToolhelp32Snapshot failed." << std::endl;
            return;
        }
    
        BOOL more = ::Process32First(snap,&pe32);
        bool exists = false;
        QString name = fullname.mid(fullname.lastIndexOf('\\'));
        while (more){
            if (name.compare(QString::fromWCharArray(pe32.szExeFile)) == 0){
                exists = true;
                HWND hwnd = ::FindWindow(NULL, name.toStdWString().c_str());
                if (hwnd != NULL){
                    HINSTANCE hdll = ::LoadLibrary(L"user32.dll");
                    if (NULL != hdll){
                        typedef BOOL(WINAPI *PROCISHUNGAPPWINDOW)(HWND);
                        PROCISHUNGAPPWINDOW IsHungAppWindow = (PROCISHUNGAPPWINDOW)GetProcAddress(hdll, "IsHungAppWindow");
                        if (IsHungAppWindow(hwnd)){
                            //kill and restart
                            HANDLE proc = OpenProcess(PROCESS_ALL_ACCESS,TRUE,pe32.th32ProcessID);
                            TerminateProcess(proc,0);
                            ::CloseHandle(proc);
                            goto restart;
                        }
                    }
                }
                ::CloseHandle(snap);
                return;
            }
            more = ::Process32Next(snap,&pe32);
        }
        ::CloseHandle(snap);
    
        //restart
        if (!exists){
            goto restart;
        }
    restart:
        STARTUPINFO si;
        PROCESS_INFORMATION pi;
        si.dwFlags = STARTF_USESHOWWINDOW;
        si.wShowWindow = TRUE;
        if (CreateProcess(fullname.toStdWString().c_str(),NULL,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi)){
            CloseHandle(pi.hThread);
            CloseHandle(pi.hProcess);
        }
    }
    
    int main(int argc, char *argv[]){
        QCoreApplication a(argc, argv);
        if (argc < 2){
            std::cout << "wrong arguments." << std::endl;
        }
        fullname = QString(argv[1]);
        QTimer timer;
        QObject::connect(&timer, &QTimer::timeout, check_and_restart);
        timer.start(1000);
        return a.exec();
    }
    

      

    转载于:https://www.cnblogs.com/leon-/p/3553381.html

    展开全文
  • 利用windows 计划定时重启exe程序

    千次阅读 2020-04-24 10:11:38
    新建记事本 把下面复制进去 把重启程序 换上你的程序 保存后保存为.bat文件 并将此文件放到你需要重启程序同目录下 @echo off ping -n 2 127.1 >nul taskkill /f /t /im 重启程序.exe ping -n 2 127.1 >...
  • 有时我们需要把写好的 java 程序部署在 Windows 系统的服务器上,如果服务器被人为重启,或者程序由于未知原因自己崩溃了,程序不能自动重启,用户体验很不好。接下来介绍一种可行的解决方案:设置 java 程序开机...
  • Python程序意外中断自动重启shell脚本

    万次阅读 多人点赞 2019-06-27 23:17:15
    文章以树莓派运行Python为例,介绍了程序意外中断如何制作自动重启shell脚本。
  • windows服务器由于某些原因崩溃重启后,由于需要登陆账号密码才能进入界面,实际配置的自动启动脚本根本无法启动,所以也就无法实现服务器的自动恢复功能了。 所以这里需要做几件事情才能达到崩溃自动恢复的功能: ...
  • Windows Qt 程序崩溃重启

    千次阅读 2019-09-10 13:43:18
    最近的项目需求,对方设备在无人值守时,一但程序出现错误死机,需要自己主动重启。所以就研究了一下Windows下Qt的崩溃重启。俗话说没有图BB个JB。 大家都遇到过这种情况,当领导无聊时在办公室踱步,突然走到你...
  • windows 定时重启服务及程序

    千次阅读 2019-12-13 11:52:37
    1.创建 bat脚本 @echo off taskkill /im clientSend.exe ping -n 1 127.0.0.1 > nul ...打开windows 的计划任务程(直接搜索) 创建一个基本任务 按需配置执行时间及周期 将脚本添加至任务
  • Windows程序 如何实现程序重启

    千次阅读 2017-03-05 18:03:18
    如何用代码实现“关闭自身程序,然后重启自身程序”?详见代码: void CTestRebootDlg::OnBnClickedButton1() { //发送退出程序消息 ::SendMessage(this->m_hWnd, WM_CLOSE, 0, 0); //MFC程序可以用下面这行代码 ...
  • cmd /k reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%SystemRoot%\explorer.exe" /f(开机启动explorer外壳程序) cmd /k reg add "HKLM\Software\Microsoft\...
  • windows10关闭自动杀毒程序

    千次阅读 2018-12-17 23:13:41
    在打开的组策略窗口中,依次展开...Windows组件,选择【windows组件】中的windows Defender 防病毒程序windows Defender设置里面双击打开【关闭windows Defender 防病毒程序】,选择...
  • Windows开机自动运行软件及自动重启

    千次阅读 2014-09-12 10:44:01
    突发奇想,想测试下软件在开关机时的稳定性,手动的话费时又费力,如何让电脑自动执行呢。。。 设置起来比较简单,过程记录如下: 1:新建一个bat文件(写字板文件直接改后缀即可) 2:bat文件中添加如下指令:  ...
  • windows下监控进程自动重启

    千次阅读 2016-11-11 20:33:59
    监控redis @echo off   set Program="redis-server.exe" tasklist -v | findstr %Program% > NUL if ErrorLevel 1 ( ... echo "进程不存在" >> D:\server\redis_log\log.txt ... echo %date%+ %time% >>
  • Windows设置自己的程序开机自动启动

    万次阅读 多人点赞 2018-12-20 17:49:26
    Windows系统想要快速设置开机自动启动某个程序,可以使用以下几种方法设置: 第一种:设置启动项 1.找到启动文件夹,我的是C:\Users\ThinkPad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,...
  • Windows Bat脚本实现定时重启应用程序

    千次阅读 2020-03-31 14:19:41
    项目中有两个网络抓包程序用于处理解析指定服务器镜像发送的网络数据包,正常运行了几年,最近可能是客户整改内部网络原因,发现程序在运行一段时间后不定期的就无法接收到网络数据包,只能重启程序后方可恢复正常,...
  • windows服务器重启后 apache自动启动

    千次阅读 2016-09-09 09:29:02
    完成上述操作后,重启计算机发现apache在计算机重启后,就算没有远程登录到桌面,也能自动启动。 2.服务开机自启动  apache在安装完成之后,一般在系统会发现一个自动的服务项。右键apache...
  • 办法:修改本地组策略,避免在重启时出现“此程序正在阻止windows重新启动”界面。 使用键盘组合键win+R调出运行栏,输入gpedit.msc,在计算机配置中依次选择管理模板>系统>关机选项,在关机选项下双击“关闭会阻止...
  • windows下bat脚本自动重启Apache服务

    千次阅读 2019-06-05 13:22:31
    由于不方便变更基础环境,故考虑使用bat脚本自动检测网站是否正常判断是否需要重启apache服务。 准备工作 1、由于借助curl命令测试网站是否正常,需提前安装配置好curl命令。 https://curl.haxx.se/dow...
  • windows系统定时重启自定义exe程序

    千次阅读 2017-10-09 14:59:00
    工作需要, Windows系统定时重启自定义exe程序. 写了如下程序, 按照说明(readme.txt)修改批处理文件中的四个参数即可: 1.readme.txt 第一个参数:进程名(不用带exe) 第二个参数:大屏exe路径 第三个参数:...
  • Windows 2003 服务器 断电 自动重启

    千次阅读 2013-06-16 10:16:53
    windows 2003 服务器停电关闭后,来电自动重新启动,要分以下几步. 1.在bios的电源管理里设置来电启动.当然这个要主板支持,硬件上不支持,是没办法的.   bios v2.15在system secrit..  “ac recovery”(交流电源...
  • windows server上重启java程序bat脚本

    千次阅读 2019-07-30 11:34:15
    脚本内容如下(windows10系统已测试可用): tskill java %1 mshta vbscript:CreateObject(“WScript.Shell”).Run("%~s0 ::",0,FALSE)(window.close)&&exit nohup java -jar C:\Users\Administrator\Desktop\hqb...
  • 软件在安装时,到底做了些什么? 大家每天都在用电脑,...  首先,我们探讨一下软件安装的共通部分,说共通,就是在不同版本的操作系统上,如WINDOWS98,WIN2K和WINXP等上它们都有共同点的地方。这个文章
  • Web 应用程序部署在集群上,做主备双机使用,现在遇到了点麻烦,需要定时重启应用程序。 应用程序现在在集群管理器的活动资源里面, 所有者属于集群,组属于集群组,资源类型属于通用服务。 麻烦帮下忙,我想定时...
  • 转载:... WINDOWS2003任务计划实现定时自动重启IIS 编写批处理文件IIS.bat @echo off net stop iisadmin /yes net start iisadmin net start w3svc 建立windows 计划任务
  • @echo off :1 tasklist|find /i "xxxx"||start yyyy ping/n 11 127.1>nul goto 1 新建 .bat 文件,将其写入文件 xxxx这里填程序的文件名 yyyy这里填程序的路径 10秒扫描一次...
  • //使用ACE监控启动进程,进程崩溃后自动重启(windows/linux通用) 原理: 监护程序使用子进程的方式启动各个进程, 子进程退出时,监护程序能够得到相应的退出信号, 从而在子进程退出后,在重新启动相应的子进程...
  • 有时候觉得,服务器运行时间过长,造成服务器内存...有两种apache自动定时重启的方法(两种,第二种可一同时启动apache和mysql,所以推荐一下第二种): 第一种、使用任务计划 开始>>程序>>附件>>管理工具>>任务计划
  • 此电脑->右击 管理->系统工具->任务计划程序->Microsoft->Windows->UpdateOrchestrator->Reboot 任务禁用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 146,823
精华内容 58,729
关键字:

windows自动重启程序