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

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

本文利用通过一个计划任务来定时监控管理另一个计划任务(结合使用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("\Microsoft\Windows\windows计划任务名称")); if (null != t)
{ t.Enabled = true;
t.Stop();
t.Run(); }
} } }
catch
{ }
}
通过以上的结合使用,可以封装成控制台应用程序发布到windows计划任务中,也可以封装成windows服务。
|
本博客为软件人生原创,欢迎转载,转载请标明出处:http://www.cnblogs.com/nbpowerboy/p/3375648.html 。演绎或用于商业目的,但是必须保留本文的署名软件人生(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。 |
利用开源的TaskScheduler组件实现监控和管理windows计划任务的更多相关文章
- 利用开源软件strongSwan实现支持IKEv2的企业级IPsec VPN,并结合FreeRadius实现AAA协议(下篇)
续篇—— 利用开源软件strongSwan实现支持IKEv2的企业级IPsec VPN,并结合FreeRadius实现AAA协议(上篇) 上篇文章写了如何构建一个支持IKEv2的VPN,本篇记录的是如 ...
- 开源word操作组件DocX的记录
开源word操作组件DocX的记录 使用开源word操作组件DocX的记录 1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱 ...
- 使用开源word操作组件DocX的记录
1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作w ...
- 【Spring Boot】利用 Spring Boot Admin 进行项目监控管理
利用 Spring Boot Admin 进行项目监控管理 一.Spring Boot Admin 是什么 Spring Boot Admin (SBA) 是一个社区开源项目,用于管理和监视 Spri ...
- 开源Word读写组件DocX 的深入研究和问题总结
一. 前言 前两天看到了asxinyu大神的[原创]开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX. 我也把它融入到我的项目当中并进 ...
- 突破自我,开源NetWorkSocket通讯组件
前言 在<化茧成蝶,开源NetWorkSocket通讯组件>发表之后,收到大家很多个star,在此感谢!更可贵的是,一些网友提出了许多好建议,经过一些时间的思考,决定将NetworkSoc ...
- log4net--不可多得的开源日志记录组件
log4net--不可多得的开源日志记录组件 1 前奏 一直在用log4net日志工具,却没时间写个日志给大家分享一下这个工具,趁最近比较空些,好好分享一下这个工具. 2 说明 Log4net介绍就不 ...
- CocoaPods的安装及使用/利用开源库Diplomat实现分享及第三方登录/git的使用
<<史上最简洁版本>> 1.gem sources -l查看 当前的源 //1.1 sudo -i..以下都是以管理员的身份来操作的 2.gem sources --remov ...
- Android(java)学习笔记206:利用开源SmartImageView优化网易新闻RSS客户端
1.我们自己编写的SmartImageView会有很多漏洞,但是我们幸运的可以在网上利用开源项目的,开源项目中有很多成熟的代码,比如SmartImageView都编写的很成熟的 国内我们经常用到htt ...
随机推荐
- jQuery常用技巧
1.关于页面元素的引用 通过jquery的$()引用元素包括通过id.class.元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用 ...
- Swift-9-类和结构体
// Playground - noun: a place where people can play import UIKit // 几个重要的概念Properties/Methods/Subscr ...
- 第一百五十节,封装库--JavaScript,表单验证--密码验证
封装库--JavaScript,表单验证--密码验证 效果图 html <div id="reg"> <h2 class="tuo">& ...
- Engineer in the White Spaces
 Engineer in the White Spaces Michael Nygard A SySTEM ConSiSTS oF inTERdEpEndEnT pRogRAMS. We call ...
- Android中TextView和EditView经常使用属性设置
Android开发中最经常使用的几乎相同就是TextView和EditView了,在使用它时.我们也会设置它的一些属性,为了让我们设计的更好看,设置的更合理.这里记下它的经常使用属性,方便后期查阅. ...
- 网易研发project师(移动端游戏)—暑期实习生电面题目 2014年5月14日
2014年5月14日 暑期实习生电话面试: 首先自我介绍. 一.C++ 1.extern的使用方法 2.虚函数 3.强制转换 4.malloc和new的差别 二.计算机网络 1.TCP和UDP有什么差 ...
- java强软弱虚引用详解(转载)
转载自:http://zhangjunhd.blog.51cto.com/113473/53092/ ava:对象的强.软.弱和虚引用 2007-12-01 17:20:20 标签:Java 软引用 ...
- Ubuntu系统-网络配置
网络配置 静态IP root@ubuntu:~# cat /etc/network/interfaces # This file describes the network interfaces av ...
- js高级面试题
<script> //1. var foo = { bar: function () { return this.baz; }, baz: 1 }; (function () { retu ...
- MySQL设置密码的三种方法
其设置密码有三种方法: a. ./mysqladmin -u root -p oldpassword newpasswd(记住这个命令是在/usr/local/mysql/bin中外部命令) b. S ...