利用开源的TaskScheduler组件实现监控和管理windows计划任务

摘要:
=t){t.Enabled=true;t.Stop();t.Run();}}}}Catch{}}可以打包为控制台应用程序并发布到windows计划任务,或者打包为windows服务。本博客为软件生活原创,欢迎转载,转载请注明出处:http://www.cnblogs.com/nbpowerboy/p/3375648.html 。 扣除或用于商业目的,但必须保留本文签署的软件寿命。如果您有任何问题或授权谈判,请给我留言。

   对于计划任务的执行有很多种解决方案,如利用开源Quartz作业调度框架,在SQL Server的作业等等,同时Windows的任务计划程序功能也很强大,利用此可以很方便的实现很多计划任务,除了人工进行管理和维护外,可以使用开源的TaskScheduler组件进行自动管理和维护,本文主要利用开源TaskScheduler组件进行指定windows任务计划程序的监控和运维,以保证任务计划的稳定可靠,开源TaskScheduler组件的下载地址:http://taskscheduler.codeplex.com/releases/view/110719 。  

 利用开源的TaskScheduler组件实现监控和管理windows计划任务第1张

  运行计划任务,会出现在windows的进程中,如下图:

   利用开源的TaskScheduler组件实现监控和管理windows计划任务第2张

      本文利用通过一个计划任务来定时监控管理另一个计划任务(结合使用Quartz.net实现),如另一个计划任务停止运行中,则

    自动启动该计划任务,检查指定windows进程的状态核心代码示例如下:

复制代码
using System.Diagnostics;    private static bool CheckProcessRunning(string runningProcessname)
        {
            try
            {
                bool returnValue = false;

                Process[] processes = Process.GetProcessesByName(runningProcessname);

                foreach (Process process in processes)
                {
                    returnValue = true;
                    break;
                }

                return returnValue;
            }
            catch
            {
                return false;
            }
        }  
复制代码

         自动启动指定计划任务的核心代码如下:

复制代码
using Microsoft.Win32.TaskScheduler;    public void CheckOAFlowSyncRunning()
        {
            try
            {
                bool IsP = CheckProcessRunning("windows计划任务名称");



                if (IsP == false)
                {
                    using (TaskService ts = new TaskService())
                    {

                        var t = ts.GetTask("MicrosoftWindowswindows计划任务名称"));

                        if (null != t)
                        {

                            t.Enabled = true;
                            t.Stop();
                            t.Run();

                        }
                    }

                }

            }
            catch
            {

            }
        }
复制代码

        通过以上的结合使用,可以封装成控制台应用程序发布到windows计划任务中,也可以封装成windows服务。

  

本博客为软件人生原创,欢迎转载,转载请标明出处:http://www.cnblogs.com/nbpowerboy/p/3375648.html 。演绎或用于商业目的,但是必须保留本文的署名软件人生(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。

免责声明:文章转载自《利用开源的TaskScheduler组件实现监控和管理windows计划任务》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇简单的方法实现仿微信底部的Tab选项卡界面Java core dump下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

开源3D游戏引擎Irrlicht简介

Irrlicht简介 Irrlicht在国内也被叫做“鬼火”引擎,是一款用C++编写的开放源代码的高性能游戏引擎。而且是跨平台的,具有很好的移植性,Irrlicht支持OpenGl、Direcx3D渲染,引擎本身也实现了一套自己的渲染系统。在商业引擎中能够找到的艺术特性,Irrlicht基本都支持。目前有很多项目中都使用到它,Irrlicht社区也比较活...

Android开源动画库nineoldandroids

项目官网地址:http://nineoldandroids.com/ 使用这个库的原因是android3.0之后出了新的animation API,但是android3.0以下的不支持 这个库完成了这个兼容性,使得ValueAnimator、ObjectAnimator等新的动画api能不改一行代码,只修改import的包名就完全兼容到新的api 比如下面...

人人开源框架学习笔记

框架介绍 三个框架 人人框架总共分为三个,分别是: renren-security、 renren-fast、 renren-generator。 根据官方的介绍, renren-security: 轻量级权限管理系统 https://gitee.com/renrenio/renren-security renren-fast : Java快速开发平台...

几种开源工作流引擎的简单比较

目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下 其他几种工作流引擎的特性。   Apache ODE Enhydra Shark Bonita Open Business Engine Eclipse JWT  支持的流程建模标准  WS-BPEL 2.0,流程定义必须使用该标准编写才能执行 WfM...

C/C++常用库及工具

值得学习的C语言开源项目 - 1. Webbench  Webbench是一个在Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接:http://...

git 的安装以及使用:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作

## 总结 - 学会使用基本的git命令 管理源代码- 学会去github创建仓库 并将代码上传到github的仓库 (有待完成 回家有网再push)- 了解本地的.git和服务器github的.git的关系 是两个仓库 一个是本地 一个是服务器 需要使用一句命令来关联 git remote add origin 远端的.git的地址- 了解github的...